| Index: runtime/bin/http.dart | 
| diff --git a/runtime/bin/http.dart b/runtime/bin/http.dart | 
| index b0ebda607ee356eec82d8935365890a4a9b7112f..823cebec87326ba25754339625dedf2a80929516 100644 | 
| --- a/runtime/bin/http.dart | 
| +++ b/runtime/bin/http.dart | 
| @@ -388,10 +388,10 @@ interface HttpResponse default _HttpResponse { | 
| * socket is detached the HTTP server will no longer perform any | 
| * operations on it. | 
| * | 
| -   * This is normally used when a HTTP upgraded request is received | 
| +   * This is normally used when a HTTP upgrade request is received | 
| * and the communication should continue with a different protocol. | 
| */ | 
| -  Socket detachSocket(); | 
| +  DetachedSocket detachSocket(); | 
| } | 
|  | 
|  | 
| @@ -485,6 +485,16 @@ interface HttpClientConnection { | 
| * connecting or processing the HTTP request. | 
| */ | 
| void set onError(void callback(e)); | 
| + | 
| +  /** | 
| +   * Detach the underlying socket from the HTTP client. When the | 
| +   * socket is detached the HTTP client will no longer perform any | 
| +   * operations on it. | 
| +   * | 
| +   * This is normally used when a HTTP upgrade is negotiated and the | 
| +   * communication should continue with a different protocol. | 
| +   */ | 
| +  DetachedSocket detachSocket(); | 
| } | 
|  | 
|  | 
| @@ -550,6 +560,19 @@ interface HttpClientResponse default _HttpClientResponse { | 
| } | 
|  | 
|  | 
| +/** | 
| + * When detaching a socket from either the [:HttpServer:] or the | 
| + * [:HttpClient:] due to a HTTP connection upgrade there might be | 
| + * unparsed data already read from the socket. This unparsed data | 
| + * together with the detached socket is returned in an instance of | 
| + * this class. | 
| + */ | 
| +interface DetachedSocket default _DetachedSocket { | 
| +  Socket get socket(); | 
| +  List<int> get unparsedData(); | 
| +} | 
| + | 
| + | 
| class HttpException implements Exception { | 
| const HttpException([String this.message = ""]); | 
| String toString() => "HttpException: $message"; | 
|  |