|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 package org.mozilla.gecko.sync.net; |
|
6 |
|
7 import java.security.GeneralSecurityException; |
|
8 |
|
9 import ch.boye.httpclientandroidlib.Header; |
|
10 import ch.boye.httpclientandroidlib.client.methods.HttpRequestBase; |
|
11 import ch.boye.httpclientandroidlib.impl.client.DefaultHttpClient; |
|
12 import ch.boye.httpclientandroidlib.protocol.BasicHttpContext; |
|
13 |
|
14 /** |
|
15 * An <code>AuthHeaderProvider</code> generates HTTP Authorization headers for |
|
16 * HTTP requests. |
|
17 */ |
|
18 public interface AuthHeaderProvider { |
|
19 /** |
|
20 * Generate an HTTP Authorization header. |
|
21 * |
|
22 * @param request HTTP request. |
|
23 * @param context HTTP context. |
|
24 * @param client HTTP client. |
|
25 * @return HTTP Authorization header. |
|
26 * @throws GeneralSecurityException usually wrapping a more specific exception. |
|
27 */ |
|
28 Header getAuthHeader(HttpRequestBase request, BasicHttpContext context, DefaultHttpClient client) |
|
29 throws GeneralSecurityException; |
|
30 } |