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 }