13713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick/* 23713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Copyright (C) 2011 The Android Open Source Project 33713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * 43713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Licensed under the Apache License, Version 2.0 (the "License"); 53713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * you may not use this file except in compliance with the License. 63713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * You may obtain a copy of the License at 73713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * 83713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * http://www.apache.org/licenses/LICENSE-2.0 93713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * 103713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Unless required by applicable law or agreed to in writing, software 113713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * distributed under the License is distributed on an "AS IS" BASIS, 123713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * See the License for the specific language governing permissions and 143713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * limitations under the License. 153713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick */ 163713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 173713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpackage com.android.volley.mock; 183713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 193713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.AuthFailureError; 203713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.Request; 213713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.toolbox.HttpStack; 223713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 233713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.HttpResponse; 243713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 253713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport java.util.HashMap; 263713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport java.util.Map; 273713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 283713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpublic class MockHttpStack implements HttpStack { 293713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 303713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick private HttpResponse mResponseToReturn; 313713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 323713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick private String mLastUrl; 333713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 343713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick private Map<String, String> mLastHeaders; 353713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 363713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick private byte[] mLastPostBody; 373713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 383713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public String getLastUrl() { 393713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return mLastUrl; 403713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 413713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 423713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public Map<String, String> getLastHeaders() { 433713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return mLastHeaders; 443713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 453713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 463713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public byte[] getLastPostBody() { 473713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return mLastPostBody; 483713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 493713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 503713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public void setResponseToReturn(HttpResponse response) { 513713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mResponseToReturn = response; 523713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 533713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 543713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 553713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders) 563713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throws AuthFailureError { 573713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mLastUrl = request.getUrl(); 583713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mLastHeaders = new HashMap<String, String>(); 593713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick if (request.getHeaders() != null) { 603713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mLastHeaders.putAll(request.getHeaders()); 613713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 623713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick if (additionalHeaders != null) { 633713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mLastHeaders.putAll(additionalHeaders); 643713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 653713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick try { 663713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mLastPostBody = request.getPostBody(); 673713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } catch (AuthFailureError e) { 683713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mLastPostBody = null; 693713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 703713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return mResponseToReturn; 713713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 723713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick} 73