| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 // Utility class for encoding a string into UTF-8 byte stream. | 5 // Utility class for encoding a string into UTF-8 byte stream. |
| 6 class _UTF8Encoder { | 6 class _UTF8Encoder { |
| 7 static List<int> encodeString(String string) { | 7 static List<int> encodeString(String string) { |
| 8 int size = _encodingSize(string); | 8 int size = _encodingSize(string); |
| 9 ByteArray result = new ByteArray(size); | 9 ByteArray result = new ByteArray(size); |
| 10 _encodeString(string, result); | 10 _encodeString(string, result); |
| (...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1049 _HttpClient() : _openSockets = new Map(), | 1049 _HttpClient() : _openSockets = new Map(), |
| 1050 _activeSockets = new Set(), | 1050 _activeSockets = new Set(), |
| 1051 _shutdown = false; | 1051 _shutdown = false; |
| 1052 | 1052 |
| 1053 HttpClientConnection open( | 1053 HttpClientConnection open( |
| 1054 String method, String host, int port, String path) { | 1054 String method, String host, int port, String path) { |
| 1055 if (_shutdown) throw new HttpException("HttpClient shutdown"); | 1055 if (_shutdown) throw new HttpException("HttpClient shutdown"); |
| 1056 return _prepareHttpClientConnection(host, port, method, path); | 1056 return _prepareHttpClientConnection(host, port, method, path); |
| 1057 } | 1057 } |
| 1058 | 1058 |
| 1059 HttpClientConnection openUrl(String method, Uri url) { |
| 1060 if (url.scheme != "http") { |
| 1061 throw new HttpException("Unsupported URL scheme ${url.scheme}"); |
| 1062 } |
| 1063 if (url.userInfo != "") { |
| 1064 throw new HttpException("Unsupported user info ${url.userInfo}"); |
| 1065 } |
| 1066 int port = url.port == 0 ? HttpClient.DEFAULT_HTTP_PORT : url.port; |
| 1067 String path; |
| 1068 if (url.query != "") { |
| 1069 if (url.fragment != "") { |
| 1070 path = "${url.path}?${url.query}#${url.fragment}"; |
| 1071 } else { |
| 1072 path = "${url.path}?${url.query}"; |
| 1073 } |
| 1074 } else { |
| 1075 path = url.path; |
| 1076 } |
| 1077 return open(method, url.domain, port, path); |
| 1078 } |
| 1079 |
| 1059 HttpClientConnection get(String host, int port, String path) { | 1080 HttpClientConnection get(String host, int port, String path) { |
| 1060 return open("GET", host, port, path); | 1081 return open("GET", host, port, path); |
| 1061 } | 1082 } |
| 1062 | 1083 |
| 1084 HttpClientConnection getUrl(Uri url) => openUrl("GET", url); |
| 1085 |
| 1063 HttpClientConnection post(String host, int port, String path) { | 1086 HttpClientConnection post(String host, int port, String path) { |
| 1064 return open("POST", host, port, path); | 1087 return open("POST", host, port, path); |
| 1065 } | 1088 } |
| 1066 | 1089 |
| 1090 HttpClientConnection postUrl(Uri url) => openUrl("POST", url); |
| 1091 |
| 1067 void shutdown() { | 1092 void shutdown() { |
| 1068 _openSockets.forEach((String key, Queue<_SocketConnection> connections) { | 1093 _openSockets.forEach((String key, Queue<_SocketConnection> connections) { |
| 1069 while (!connections.isEmpty()) { | 1094 while (!connections.isEmpty()) { |
| 1070 _SocketConnection socketConn = connections.removeFirst(); | 1095 _SocketConnection socketConn = connections.removeFirst(); |
| 1071 socketConn._socket.close(); | 1096 socketConn._socket.close(); |
| 1072 } | 1097 } |
| 1073 }); | 1098 }); |
| 1074 _activeSockets.forEach((_SocketConnection socketConn) { | 1099 _activeSockets.forEach((_SocketConnection socketConn) { |
| 1075 socketConn._socket.close(); | 1100 socketConn._socket.close(); |
| 1076 }); | 1101 }); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1182 _onError = callback; | 1207 _onError = callback; |
| 1183 } | 1208 } |
| 1184 | 1209 |
| 1185 Function _onOpen; | 1210 Function _onOpen; |
| 1186 Function _onError; | 1211 Function _onError; |
| 1187 Map<String, Queue<_SocketConnection>> _openSockets; | 1212 Map<String, Queue<_SocketConnection>> _openSockets; |
| 1188 Set<_SocketConnection> _activeSockets; | 1213 Set<_SocketConnection> _activeSockets; |
| 1189 Timer _evictionTimer; | 1214 Timer _evictionTimer; |
| 1190 bool _shutdown; // Has this HTTP client been shutdown? | 1215 bool _shutdown; // Has this HTTP client been shutdown? |
| 1191 } | 1216 } |
| OLD | NEW |