| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |