1d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru/* 2d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * Copyright (C) 2011 The Android Open Source Project 3d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * 4d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * Licensed under the Apache License, Version 2.0 (the "License"); 5d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * you may not use this file except in compliance with the License. 6d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * You may obtain a copy of the License at 7d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * 8d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * http://www.apache.org/licenses/LICENSE-2.0 9d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * 10d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * Unless required by applicable law or agreed to in writing, software 11d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * distributed under the License is distributed on an "AS IS" BASIS, 12d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * See the License for the specific language governing permissions and 14d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * limitations under the License. 15d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru */ 16d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 17d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Querupackage com.android.volley.toolbox; 18d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 19d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport com.android.volley.AuthFailureError; 20d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport com.android.volley.Request; 21d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 22d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport org.apache.http.HttpResponse; 23d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 24d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport java.io.IOException; 25d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport java.util.Map; 26d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 27d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru/** 28d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * An HTTP stack abstraction. 29d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru */ 30d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Querupublic interface HttpStack { 31d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru /** 32d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * Performs an HTTP request with the given parameters. 33d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * 34d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * <p>A GET request is sent if request.getPostBody() == null. A POST request is sent otherwise, 35d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * and the Content-Type header is set to request.getPostBodyContentType().</p> 36d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * 37d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * @param request the request to perform 38d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * @param additionalHeaders additional headers to be sent together with 39d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * {@link Request#getHeaders()} 40d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * @return the HTTP response 41d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru */ 42d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders) 43d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru throws IOException, AuthFailureError; 44d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 45d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru} 46