| Index: sdk/lib/_internal/pub_generated/lib/src/barback/admin_server.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/barback/admin_server.dart b/sdk/lib/_internal/pub_generated/lib/src/barback/admin_server.dart
|
| similarity index 55%
|
| copy from sdk/lib/_internal/pub/lib/src/barback/admin_server.dart
|
| copy to sdk/lib/_internal/pub_generated/lib/src/barback/admin_server.dart
|
| index c6fd86fdd030fdd94766dd92d65a6fd6229c324b..e4312fec06027ea93ba14416f17ee3d14f48520e 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/barback/admin_server.dart
|
| +++ b/sdk/lib/_internal/pub_generated/lib/src/barback/admin_server.dart
|
| @@ -1,72 +1,46 @@
|
| -// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| library pub.barback.admin_server;
|
| -
|
| import 'dart:async';
|
| import 'dart:io';
|
| -
|
| import 'package:http_parser/http_parser.dart';
|
| import 'package:shelf/shelf.dart' as shelf;
|
| import 'package:shelf_web_socket/shelf_web_socket.dart';
|
| import 'package:stack_trace/stack_trace.dart';
|
| -
|
| import '../io.dart';
|
| import '../log.dart' as log;
|
| import 'asset_environment.dart';
|
| import 'base_server.dart';
|
| import 'web_socket_api.dart';
|
| -
|
| -/// The web admin interface to pub serve.
|
| -// TODO(rnystrom): Currently this just provides access to the Web Socket API.
|
| -// See #16954.
|
| class AdminServer extends BaseServer {
|
| - /// All currently open [WebSocket] connections.
|
| final _webSockets = new Set<CompatibleWebSocket>();
|
| -
|
| shelf.Handler _handler;
|
| -
|
| - /// Creates a new server and binds it to [port] of [host].
|
| - static Future<AdminServer> bind(AssetEnvironment environment,
|
| - String host, int port) {
|
| + static Future<AdminServer> bind(AssetEnvironment environment, String host,
|
| + int port) {
|
| return Chain.track(bindServer(host, port)).then((server) {
|
| log.fine('Bound admin server to $host:$port.');
|
| return new AdminServer._(environment, server);
|
| });
|
| }
|
| -
|
| AdminServer._(AssetEnvironment environment, HttpServer server)
|
| : super(environment, server) {
|
| - _handler = new shelf.Cascade()
|
| - .add(webSocketHandler(_handleWebSocket))
|
| - .add(_handleHttp).handler;
|
| + _handler = new shelf.Cascade().add(
|
| + webSocketHandler(_handleWebSocket)).add(_handleHttp).handler;
|
| }
|
| -
|
| - /// Closes the server and all Web Socket connections.
|
| Future close() {
|
| var futures = [super.close()];
|
| futures.addAll(_webSockets.map((socket) => socket.close()));
|
| return Future.wait(futures);
|
| }
|
| -
|
| handleRequest(shelf.Request request) => _handler(request);
|
| -
|
| - /// Handles an HTTP request.
|
| _handleHttp(shelf.Request request) {
|
| - // TODO(rnystrom): Actually respond to requests once there is an admin
|
| - // interface. See #16954.
|
| logRequest(request, "501 Not Implemented");
|
| - return new shelf.Response(501,
|
| + return new shelf.Response(
|
| + 501,
|
| body: "Currently this server only accepts Web Socket connections.");
|
| }
|
| -
|
| - /// Creates a web socket for [request] which should be an upgrade request.
|
| void _handleWebSocket(CompatibleWebSocket socket) {
|
| _webSockets.add(socket);
|
| var api = new WebSocketApi(socket, environment);
|
| - api.listen()
|
| - .whenComplete(() => _webSockets.remove(api))
|
| - .catchError(addError);
|
| + api.listen().whenComplete(
|
| + () => _webSockets.remove(api)).catchError(addError);
|
| }
|
| }
|
|
|