1 //========================================================================
2 //Copyright 2006-2008 Mort Bay Consulting Pty. Ltd.
3 //------------------------------------------------------------------------
4 //Licensed under the Apache License, Version 2.0 (the "License");
5 //you may not use this file except in compliance with the License.
6 //You may obtain a copy of the License at
7 //http://www.apache.org/licenses/LICENSE-2.0
8 //Unless required by applicable law or agreed to in writing, software
9 //distributed under the License is distributed on an "AS IS" BASIS,
10 //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 //See the License for the specific language governing permissions and
12 //limitations under the License.
13 //========================================================================
14
15 package org.mortbay.jetty.client.security;
16
17
18 import java.io.IOException;
19
20 import org.mortbay.io.Buffer;
21 import org.mortbay.io.ByteArrayBuffer;
22 import org.mortbay.jetty.HttpHeaders;
23 import org.mortbay.jetty.client.HttpExchange;
24 import org.mortbay.jetty.security.B64Code;
25 import org.mortbay.util.StringUtil;
26
27 /**
28 * Sets proxy authentication headers for BASIC authentication challenges
29 *
30 * @author jesse
31 */
32 public class ProxyAuthorization implements Authorization
33 {
34 private Buffer _authorization;
35
36 public ProxyAuthorization(String username,String password) throws IOException
37 {
38 String authenticationString = "Basic " + B64Code.encode( username + ":" + password, StringUtil.__ISO_8859_1);
39 _authorization= new ByteArrayBuffer(authenticationString);
40 }
41
42 /**
43 * BASIC proxy authentication is of the form
44 *
45 * encoded credentials are of the form: username:password
46 *
47 *
48 */
49 public void setCredentials( HttpExchange exchange ) throws IOException
50 {
51 exchange.setRequestHeader( HttpHeaders.PROXY_AUTHORIZATION_BUFFER, _authorization);
52 }
53 }