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

Side by Side Diff: sdk/lib/io/http_impl.dart

Issue 14150002: Remove StreamSink(replaced by EventSink) and make IOSink extend EventSink. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « sdk/lib/io/file_impl.dart ('k') | sdk/lib/io/io_sink.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 part of dart.io; 5 part of dart.io;
6 6
7 class _HttpIncoming extends Stream<List<int>> { 7 class _HttpIncoming extends Stream<List<int>> {
8 final int _transferLength; 8 final int _transferLength;
9 final Completer _dataCompleter = new Completer(); 9 final Completer _dataCompleter = new Completer();
10 Stream<List<int>> _stream; 10 Stream<List<int>> _stream;
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 393
394 void writeln([Object obj = ""]) { 394 void writeln([Object obj = ""]) {
395 write(obj); 395 write(obj);
396 write("\n"); 396 write("\n");
397 } 397 }
398 398
399 void writeCharCode(int charCode) { 399 void writeCharCode(int charCode) {
400 write(new String.fromCharCode(charCode)); 400 write(new String.fromCharCode(charCode));
401 } 401 }
402 402
403 void writeBytes(List<int> data) { 403 void add(List<int> data) {
404 _writeHeaders(); 404 _writeHeaders();
405 if (data.length == 0) return; 405 if (data.length == 0) return;
406 _ioSink.writeBytes(data); 406 _ioSink.add(data);
407 }
408
409 void addError(AsyncError error) {
410 _writeHeaders();
411 _ioSink.addError(error);
407 } 412 }
408 413
409 Future<T> consume(Stream<List<int>> stream) { 414 Future<T> consume(Stream<List<int>> stream) {
410 _writeHeaders(); 415 _writeHeaders();
411 return _ioSink.consume(stream); 416 return _ioSink.consume(stream);
412 } 417 }
413 418
414 Future<T> addStream(Stream<List<int>> stream) { 419 Future<T> addStream(Stream<List<int>> stream) {
415 _writeHeaders(); 420 _writeHeaders();
416 return _ioSink.writeStream(stream).then((_) => this); 421 return _ioSink.writeStream(stream).then((_) => this);
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 _cookies.forEach((cookie) { 625 _cookies.forEach((cookie) {
621 headers.add(HttpHeaders.SET_COOKIE, cookie); 626 headers.add(HttpHeaders.SET_COOKIE, cookie);
622 }); 627 });
623 } 628 }
624 629
625 headers._finalize(); 630 headers._finalize();
626 631
627 // Write headers. 632 // Write headers.
628 headers._write(buffer); 633 headers._write(buffer);
629 writeCRLF(); 634 writeCRLF();
630 _ioSink.writeBytes(buffer.readBytes()); 635 _ioSink.add(buffer.readBytes());
631 } 636 }
632 637
633 String _findReasonPhrase(int statusCode) { 638 String _findReasonPhrase(int statusCode) {
634 if (_reasonPhrase != null) { 639 if (_reasonPhrase != null) {
635 return _reasonPhrase; 640 return _reasonPhrase;
636 } 641 }
637 642
638 switch (statusCode) { 643 switch (statusCode) {
639 case HttpStatus.CONTINUE: return "Continue"; 644 case HttpStatus.CONTINUE: return "Continue";
640 case HttpStatus.SWITCHING_PROTOCOLS: return "Switching Protocols"; 645 case HttpStatus.SWITCHING_PROTOCOLS: return "Switching Protocols";
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 sb.write(cookies[i].value); 830 sb.write(cookies[i].value);
826 } 831 }
827 headers.add(HttpHeaders.COOKIE, sb.toString()); 832 headers.add(HttpHeaders.COOKIE, sb.toString());
828 } 833 }
829 834
830 headers._finalize(); 835 headers._finalize();
831 836
832 // Write headers. 837 // Write headers.
833 headers._write(buffer); 838 headers._write(buffer);
834 writeCRLF(); 839 writeCRLF();
835 _ioSink.writeBytes(buffer.readBytes()); 840 _ioSink.add(buffer.readBytes());
836 } 841 }
837 } 842 }
838 843
839 844
840 // Transformer that transforms data to HTTP Chunked Encoding. 845 // Transformer that transforms data to HTTP Chunked Encoding.
841 class _ChunkedTransformer extends StreamEventTransformer<List<int>, List<int>> { 846 class _ChunkedTransformer extends StreamEventTransformer<List<int>, List<int>> {
842 void handleData(List<int> data, EventSink<List<int>> sink) { 847 void handleData(List<int> data, EventSink<List<int>> sink) {
843 sink.add(_chunkHeader(data.length)); 848 sink.add(_chunkHeader(data.length));
844 if (data.length > 0) sink.add(data); 849 if (data.length > 0) sink.add(data);
845 sink.add(_chunkFooter); 850 sink.add(_chunkFooter);
(...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 void write(Object obj) => _socket.write(obj); 1679 void write(Object obj) => _socket.write(obj);
1675 1680
1676 void writeln([Object obj = ""]) => _socket.writeln(obj); 1681 void writeln([Object obj = ""]) => _socket.writeln(obj);
1677 1682
1678 void writeCharCode(int charCode) => _socket.writeCharCode(charCode); 1683 void writeCharCode(int charCode) => _socket.writeCharCode(charCode);
1679 1684
1680 void writeAll(Iterable objects, [String separator = ""]) { 1685 void writeAll(Iterable objects, [String separator = ""]) {
1681 _socket.writeAll(objects, separator); 1686 _socket.writeAll(objects, separator);
1682 } 1687 }
1683 1688
1684 void writeBytes(List<int> bytes) => _socket.writeBytes(bytes); 1689 void add(List<int> bytes) => _socket.add(bytes);
1690
1691 void addError(AsyncError error) => _socket.addError(error);
1685 1692
1686 Future<Socket> consume(Stream<List<int>> stream) { 1693 Future<Socket> consume(Stream<List<int>> stream) {
1687 return _socket.consume(stream); 1694 return _socket.consume(stream);
1688 } 1695 }
1689 1696
1690 Future<Socket> addStream(Stream<List<int>> stream) { 1697 Future<Socket> addStream(Stream<List<int>> stream) {
1691 return _socket.addStream(stream); 1698 return _socket.addStream(stream);
1692 } 1699 }
1693 1700
1694 Future<Socket> writeStream(Stream<List<int>> stream) { 1701 Future<Socket> writeStream(Stream<List<int>> stream) {
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1818 1825
1819 1826
1820 class _RedirectInfo implements RedirectInfo { 1827 class _RedirectInfo implements RedirectInfo {
1821 const _RedirectInfo(int this.statusCode, 1828 const _RedirectInfo(int this.statusCode,
1822 String this.method, 1829 String this.method,
1823 Uri this.location); 1830 Uri this.location);
1824 final int statusCode; 1831 final int statusCode;
1825 final String method; 1832 final String method;
1826 final Uri location; 1833 final Uri location;
1827 } 1834 }
OLDNEW
« no previous file with comments | « sdk/lib/io/file_impl.dart ('k') | sdk/lib/io/io_sink.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698