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

Unified Diff: pkg/analysis_server/lib/src/get_handler.dart

Issue 823123004: Display overlays at /overlays URI. (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 | « no previous file | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/src/get_handler.dart
diff --git a/pkg/analysis_server/lib/src/get_handler.dart b/pkg/analysis_server/lib/src/get_handler.dart
index ebdac828f51bba77fc0846d5e6f6c7b7260cd4bb..1e2c8d0a42e04120a2508ce78e48a8adbe3a2857 100644
--- a/pkg/analysis_server/lib/src/get_handler.dart
+++ b/pkg/analysis_server/lib/src/get_handler.dart
@@ -45,6 +45,11 @@ class GetHandler {
static const String COMPLETION_PATH = '/completion';
/**
+ * The path used to request overlays information.
+ */
+ static const String OVERLAYS_PATH = '/overlays';
+
+ /**
* Query parameter used to represent the cache state to search for, when
* accessing [CACHE_STATE_PATH].
*/
@@ -96,6 +101,8 @@ class GetHandler {
_returnCacheEntry(request);
} else if (path == COMPLETION_PATH) {
_returnCompletionInfo(request);
+ } else if (path == OVERLAYS_PATH) {
+ _returnOverlaysInfo(request);
} else {
_returnUnknownRequest(request);
}
@@ -372,6 +379,42 @@ class GetHandler {
}
/**
+ * Return a response displaying overlays information.
+ */
+ void _returnOverlaysInfo(HttpRequest request) {
+ AnalysisServer analysisServer = _server.analysisServer;
+ if (analysisServer == null) {
+ return _returnFailure(request, 'Analysis server is not running');
+ }
+ HttpResponse response = request.response;
+ response.statusCode = HttpStatus.OK;
+ response.headers.add(HttpHeaders.CONTENT_TYPE, "text/html");
+ response.write('<html>');
+ response.write('<head>');
+ response.write('<title>Dart Analysis Server - Overlays</title>');
+ response.write('</head>');
+ response.write('<body>');
+ response.write('<h1>Dart Analysis Server - Overlays</h1>');
+ response.write('<table border="1">');
+ int count = 0;
+ analysisServer.folderMap.forEach((_, AnalysisContextImpl context) {
+ context.visitContentCache((Source source, int stamp, String contents) {
+ count++;
+ response.write('<tr>');
+ response.write('<td>${HTML_ESCAPE.convert('$source')}</td>');
Paul Berry 2015/01/15 00:07:06 Maybe enclose this in <pre> so it gets monospaced?
scheglov 2015/01/15 00:22:15 Done.
+ response.write(
+ '<td>${new DateTime.fromMillisecondsSinceEpoch(stamp)}</td>');
+ response.write('</tr>');
+ });
+ });
+ response.write('<tr><td colspan="2">Total: $count entries.</td></tr>');
+ response.write('</table>');
+ response.write('</body>');
+ response.write('</html>');
+ response.close();
+ }
+
+ /**
* Return a response indicating the status of the analysis server.
*/
void _returnServerStatus(HttpRequest request) {
@@ -539,7 +582,10 @@ class GetHandler {
response.write('</table>');
if (handler.performanceList.length > 0) {
response.write('<table>');
- _writeRow(response, ['Milliseconds', '', '# Notifications', '', '# Suggestions', '', 'Snippet'], header: true);
+ _writeRow(
+ response,
+ ['Milliseconds', '', '# Notifications', '', '# Suggestions', '', 'Snippet'],
+ header: true);
handler.performanceList.forEach((CompletionPerformance performance) {
_writeRow(
response,
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/engine.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698