Chromium Code Reviews| Index: runtime/bin/http.dart |
| diff --git a/runtime/bin/http.dart b/runtime/bin/http.dart |
| index a3f4931c8dc36a568bc6b6d79fcbfa770e163ff4..f94603b744f4e62470922c1c7b15b04b1fcbfe6c 100644 |
| --- a/runtime/bin/http.dart |
| +++ b/runtime/bin/http.dart |
| @@ -364,8 +364,9 @@ abstract class HeaderValue { |
| * Creates a new header value object from parsing a header value |
| * string with both value and optional parameters. |
| */ |
| - factory HeaderValue.fromString(String value) { |
| - return new _HeaderValue.fromString(value); |
| + factory HeaderValue.fromString(String value, |
| + [String parameterSeparator = ";"]) { |
| + return new _HeaderValue.fromString(value, parameterSeparator); |
| } |
| /** |
| @@ -709,6 +710,29 @@ abstract class HttpClient { |
| HttpClientConnection postUrl(Uri url); |
| /** |
| + * Sets the function to be called when a site is requesting |
| + * authentication. The URL requested and the security realm from the |
| + * server are passed in the arguments [url] and [realm]. |
| + * |
| + * The function returns a [Future] which should complete when the |
| + * authentication have been resolved. If credentials cannot be |
| + * provided the [Futire] should complete with [false]. If |
|
Anders Johnsen
2012/10/26 13:04:50
Futire->Future
Søren Gjesse
2012/10/26 13:41:06
Done.
|
| + * credentials are available the function should add these using |
| + * [addCredentials] before completing the [Future] with the value |
| + * [true]. |
| + * |
| + * If the [Future] completes with true the request will be retried |
| + * using the updated credentials. Otherwise response processing will |
| + * continue normally. |
| + */ |
| + set authenticate(Future<bool> f(Uri url, String scheme, String realm)); |
| + |
| + /** |
| + * Add credentials to be used for authorizing HTTP requests. |
| + */ |
| + void addCredentials(Uri url, String realm, HttpClientCredentials credentials); |
| + |
| + /** |
| * Sets the function used to resolve the proxy server to be used for |
| * opening a HTTP connection to the specified [url]. If this |
| * function is not set, direct connections will always be used. |
| @@ -904,6 +928,28 @@ abstract class HttpClientResponse { |
| InputStream get inputStream; |
| } |
| + |
| +abstract class HttpClientCredentials { } |
| + |
| + |
| +/** |
| + * Represent credentials for basic authentication. |
| + */ |
| +abstract class HttpClientBasicCredentials extends HttpClientCredentials { |
| + factory HttpClientBasicCredentials(String username, String password) => |
| + new _HttpClientBasicCredentials(username, password); |
| +} |
| + |
| + |
| +/** |
| + * Represent credentials for digest authentication. |
| + */ |
| +abstract class HttpClientDigestCredentials extends HttpClientCredentials { |
| + factory HttpClientDigestCredentials(String username, String password) => |
| + new _HttpClientDigestCredentials(username, password); |
| +} |
| + |
| + |
| /** |
| * Connection information. |
| */ |