Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Unified Diff: pkg/analysis_server/lib/http_server.dart

Issue 795833005: Server clean-up (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/lib/driver.dart ('k') | pkg/analysis_server/lib/src/server/driver.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/http_server.dart
diff --git a/pkg/analysis_server/lib/http_server.dart b/pkg/analysis_server/lib/http_server.dart
deleted file mode 100644
index da5ba355c855d3a9d7e11cc069721a5b649c4b9a..0000000000000000000000000000000000000000
--- a/pkg/analysis_server/lib/http_server.dart
+++ /dev/null
@@ -1,125 +0,0 @@
-// 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 http.server;
-
-import 'dart:async';
-import 'dart:io';
-
-import 'package:analysis_server/src/channel/web_socket_channel.dart';
-import 'package:analysis_server/src/get_handler.dart';
-import 'package:analysis_server/src/socket_server.dart';
-
-/**
- * Instances of the class [HttpServer] implement a simple HTTP server. The
- * primary responsibility of this server is to listen for an UPGRADE request and
- * to start an analysis server.
- */
-class HttpAnalysisServer {
- /**
- * Number of lines of print output to capture.
- */
- static const int MAX_PRINT_BUFFER_LENGTH = 1000;
-
- /**
- * An object that can handle either a WebSocket connection or a connection
- * to the client over stdio.
- */
- SocketServer socketServer;
-
- /**
- * An object that can handle GET requests.
- */
- GetHandler getHandler;
-
- /**
- * Future that is completed with the HTTP server once it is running.
- */
- Future<HttpServer> _server;
-
- /**
- * Last PRINT_BUFFER_LENGTH lines printed.
- */
- List<String> _printBuffer = <String>[];
-
- /**
- * Initialize a newly created HTTP server.
- */
- HttpAnalysisServer(this.socketServer);
-
- void close() {
- _server.then((HttpServer server) {
- server.close();
- });
- }
-
- /**
- * Record that the given line was printed out by the analysis server.
- */
- void recordPrint(String line) {
- _printBuffer.add(line);
- if (_printBuffer.length > MAX_PRINT_BUFFER_LENGTH) {
- _printBuffer.removeRange(
- 0,
- _printBuffer.length - MAX_PRINT_BUFFER_LENGTH);
- }
- }
-
- /**
- * Begin serving HTTP requests over the given port.
- */
- void serveHttp(int port) {
- _server = HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, port);
- _server.then(_handleServer);
- }
-
- /**
- * Handle a GET request received by the HTTP server.
- */
- void _handleGetRequest(HttpRequest request) {
- if (getHandler == null) {
- getHandler = new GetHandler(socketServer, _printBuffer);
- }
- getHandler.handleGetRequest(request);
- }
-
- /**
- * Attach a listener to a newly created HTTP server.
- */
- void _handleServer(HttpServer httServer) {
- httServer.listen((HttpRequest request) {
- List<String> updateValues = request.headers[HttpHeaders.UPGRADE];
- if (updateValues != null && updateValues.indexOf('websocket') >= 0) {
- WebSocketTransformer.upgrade(request).then((WebSocket websocket) {
- _handleWebSocket(websocket);
- });
- } else if (request.method == 'GET') {
- _handleGetRequest(request);
- } else {
- _returnUnknownRequest(request);
- }
- });
- }
-
- /**
- * Handle an UPGRADE request received by the HTTP server by creating and
- * running an analysis server on a [WebSocket]-based communication channel.
- */
- void _handleWebSocket(WebSocket socket) {
- socketServer.createAnalysisServer(
- new WebSocketServerChannel(socket, socketServer.instrumentationService));
- }
-
- /**
- * Return an error in response to an unrecognized request received by the HTTP
- * server.
- */
- void _returnUnknownRequest(HttpRequest request) {
- HttpResponse response = request.response;
- response.statusCode = HttpStatus.NOT_FOUND;
- response.headers.add(HttpHeaders.CONTENT_TYPE, "text/plain");
- response.write('Not found');
- response.close();
- }
-}
« no previous file with comments | « pkg/analysis_server/lib/driver.dart ('k') | pkg/analysis_server/lib/src/server/driver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698