RecordingAuthenticator.java revision 3c938a3f6b61ce5e2dba0d039b03fe73b89fd26c
1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Copyright (C) 2013 The Android Open Source Project 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Licensed under the Apache License, Version 2.0 (the "License"); 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * you may not use this file except in compliance with the License. 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You may obtain a copy of the License at 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * http://www.apache.org/licenses/LICENSE-2.0 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Unless required by applicable law or agreed to in writing, software 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * distributed under the License is distributed on an "AS IS" BASIS, 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * See the License for the specific language governing permissions and 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * limitations under the License. 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpackage com.squareup.okhttp.internal; 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovimport java.net.Authenticator; 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovimport java.net.PasswordAuthentication; 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovimport java.util.ArrayList; 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovimport java.util.List; 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic final class RecordingAuthenticator extends Authenticator { 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /** base64("username:password") */ 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov public static final String BASE_64_CREDENTIALS = "dXNlcm5hbWU6cGFzc3dvcmQ="; 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov public final List<String> calls = new ArrayList<String>(); 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov public final PasswordAuthentication authentication; 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov public RecordingAuthenticator(PasswordAuthentication authentication) { 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov this.authentication = authentication; 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov public RecordingAuthenticator() { 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov this(new PasswordAuthentication("username", "password".toCharArray())); 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov @Override protected PasswordAuthentication getPasswordAuthentication() { 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov this.calls 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov .add("host=" 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingHost() 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " port=" 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingPort() 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " site=" 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingSite() 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " url=" 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingURL() 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " type=" 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestorType() 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " prompt=" 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingPrompt() 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " protocol=" 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingProtocol() 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + " scheme=" 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov + getRequestingScheme()); 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return authentication; 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov