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

Side by Side Diff: lib/src/command/serve.dart

Issue 1790503005: Provide and respect HTTP cache headers in pub serve. (Closed) Base URL: https://github.com/dart-lang/pub.git@master
Patch Set: Revise! Created 4 years, 9 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 unified diff | Download patch
« no previous file with comments | « lib/src/barback/barback_server.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:math' as math; 6 import 'dart:math' as math;
7 7
8 import 'package:barback/barback.dart'; 8 import 'package:barback/barback.dart';
9 9
10 import '../barback/asset_environment.dart'; 10 import '../barback/asset_environment.dart';
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // been compiled to JavaScript already. 143 // been compiled to JavaScript already.
144 if (mode == BarbackMode.RELEASE) { 144 if (mode == BarbackMode.RELEASE) {
145 server.allowAsset = (url) => !url.path.endsWith(".dart"); 145 server.allowAsset = (url) => !url.path.endsWith(".dart");
146 } 146 }
147 147
148 // Add two characters to account for "[" and "]". 148 // Add two characters to account for "[" and "]".
149 var directory = log.gray( 149 var directory = log.gray(
150 padRight("[${server.rootDirectory}]", directoryLength + 2)); 150 padRight("[${server.rootDirectory}]", directoryLength + 2));
151 151
152 server.results.listen((result) { 152 server.results.listen((result) {
153 if (result.isSuccess) { 153 if (result.isCached) {
154 var prefix = "$directory ${log.green('GET')}";
155 log.collapsible(
156 "$prefix ${result.url.path} $_arrow (cached) ${result.id}",
157 "$prefix Served ## cached assets.");
158 } else if (result.isSuccess) {
154 var prefix = "$directory ${log.green('GET')}"; 159 var prefix = "$directory ${log.green('GET')}";
155 log.collapsible("$prefix ${result.url.path} $_arrow ${result.id}", 160 log.collapsible("$prefix ${result.url.path} $_arrow ${result.id}",
156 "$prefix Served ## assets."); 161 "$prefix Served ## assets.");
157 } else { 162 } else {
158 var buffer = new StringBuffer(); 163 var buffer = new StringBuffer();
159 buffer.write("$directory ${log.red('GET')} ${result.url.path} $_arrow"); 164 buffer.write("$directory ${log.red('GET')} ${result.url.path} $_arrow");
160 165
161 var error = result.error.toString(); 166 var error = result.error.toString();
162 if (error.contains("\n")) { 167 if (error.contains("\n")) {
163 buffer.write("\n${prefixLines(error)}"); 168 buffer.write("\n${prefixLines(error)}");
164 } else { 169 } else {
165 buffer.write(" $error"); 170 buffer.write(" $error");
166 } 171 }
167 172
168 log.error(buffer); 173 log.error(buffer);
169 } 174 }
170 }, onError: _fatalError); 175 }, onError: _fatalError);
171 176
172 log.message("Serving ${entrypoint.root.name} " 177 log.message("Serving ${entrypoint.root.name} "
173 "${padRight(server.rootDirectory, directoryLength)} " 178 "${padRight(server.rootDirectory, directoryLength)} "
174 "on ${log.bold('http://$hostname:${server.port}')}"); 179 "on ${log.bold('http://$hostname:${server.port}')}");
175 } 180 }
176 181
177 /// Reports [error] and exits the server. 182 /// Reports [error] and exits the server.
178 void _fatalError(error, [stackTrace]) { 183 void _fatalError(error, [stackTrace]) {
179 if (_completer.isCompleted) return; 184 if (_completer.isCompleted) return;
180 _completer.completeError(error, stackTrace); 185 _completer.completeError(error, stackTrace);
181 } 186 }
182 } 187 }
OLDNEW
« no previous file with comments | « lib/src/barback/barback_server.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698