diff options
Diffstat (limited to 'src/main/java/com/android/volley/toolbox/BasicNetwork.java')
-rw-r--r-- | src/main/java/com/android/volley/toolbox/BasicNetwork.java | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/src/main/java/com/android/volley/toolbox/BasicNetwork.java b/src/main/java/com/android/volley/toolbox/BasicNetwork.java deleted file mode 100644 index 06427fe..0000000 --- a/src/main/java/com/android/volley/toolbox/BasicNetwork.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.volley.toolbox; - -import android.os.SystemClock; -import com.android.volley.Header; -import com.android.volley.Network; -import com.android.volley.NetworkResponse; -import com.android.volley.Request; -import com.android.volley.VolleyError; -import java.io.IOException; -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -/** A network performing Volley requests over an {@link HttpStack}. */ -public class BasicNetwork implements Network { - private static final int DEFAULT_POOL_SIZE = 4096; - - /** - * @deprecated Should never have been exposed in the API. This field may be removed in a future - * release of Volley. - */ - @Deprecated protected final HttpStack mHttpStack; - - private final BaseHttpStack mBaseHttpStack; - - protected final ByteArrayPool mPool; - - /** - * @param httpStack HTTP stack to be used - * @deprecated use {@link #BasicNetwork(BaseHttpStack)} instead to avoid depending on Apache - * HTTP. This method may be removed in a future release of Volley. - */ - @Deprecated - public BasicNetwork(HttpStack httpStack) { - // If a pool isn't passed in, then build a small default pool that will give us a lot of - // benefit and not use too much memory. - this(httpStack, new ByteArrayPool(DEFAULT_POOL_SIZE)); - } - - /** - * @param httpStack HTTP stack to be used - * @param pool a buffer pool that improves GC performance in copy operations - * @deprecated use {@link #BasicNetwork(BaseHttpStack, ByteArrayPool)} instead to avoid - * depending on Apache HTTP. This method may be removed in a future release of Volley. - */ - @Deprecated - public BasicNetwork(HttpStack httpStack, ByteArrayPool pool) { - mHttpStack = httpStack; - mBaseHttpStack = new AdaptedHttpStack(httpStack); - mPool = pool; - } - - /** @param httpStack HTTP stack to be used */ - public BasicNetwork(BaseHttpStack httpStack) { - // If a pool isn't passed in, then build a small default pool that will give us a lot of - // benefit and not use too much memory. - this(httpStack, new ByteArrayPool(DEFAULT_POOL_SIZE)); - } - - /** - * @param httpStack HTTP stack to be used - * @param pool a buffer pool that improves GC performance in copy operations - */ - public BasicNetwork(BaseHttpStack httpStack, ByteArrayPool pool) { - mBaseHttpStack = httpStack; - // Populate mHttpStack for backwards compatibility, since it is a protected field. However, - // we won't use it directly here, so clients which don't access it directly won't need to - // depend on Apache HTTP. - mHttpStack = httpStack; - mPool = pool; - } - - @Override - public NetworkResponse performRequest(Request<?> request) throws VolleyError { - long requestStart = SystemClock.elapsedRealtime(); - while (true) { - HttpResponse httpResponse = null; - byte[] responseContents = null; - List<Header> responseHeaders = Collections.emptyList(); - try { - // Gather headers. - Map<String, String> additionalRequestHeaders = - HttpHeaderParser.getCacheHeaders(request.getCacheEntry()); - httpResponse = mBaseHttpStack.executeRequest(request, additionalRequestHeaders); - int statusCode = httpResponse.getStatusCode(); - - responseHeaders = httpResponse.getHeaders(); - // Handle cache validation. - if (statusCode == HttpURLConnection.HTTP_NOT_MODIFIED) { - long requestDuration = SystemClock.elapsedRealtime() - requestStart; - return NetworkUtility.getNotModifiedNetworkResponse( - request, requestDuration, responseHeaders); - } - - // Some responses such as 204s do not have content. We must check. - InputStream inputStream = httpResponse.getContent(); - if (inputStream != null) { - responseContents = - NetworkUtility.inputStreamToBytes( - inputStream, httpResponse.getContentLength(), mPool); - } else { - // Add 0 byte response as a way of honestly representing a - // no-content request. - responseContents = new byte[0]; - } - - // if the request is slow, log it. - long requestLifetime = SystemClock.elapsedRealtime() - requestStart; - NetworkUtility.logSlowRequests( - requestLifetime, request, responseContents, statusCode); - - if (statusCode < 200 || statusCode > 299) { - throw new IOException(); - } - return new NetworkResponse( - statusCode, - responseContents, - /* notModified= */ false, - SystemClock.elapsedRealtime() - requestStart, - responseHeaders); - } catch (IOException e) { - // This will either throw an exception, breaking us from the loop, or will loop - // again and retry the request. - NetworkUtility.handleException( - request, e, requestStart, httpResponse, responseContents); - } - } - } - - /** - * Converts Headers[] to Map<String, String>. - * - * @deprecated Should never have been exposed in the API. This method may be removed in a future - * release of Volley. - */ - @Deprecated - protected static Map<String, String> convertHeaders(Header[] headers) { - Map<String, String> result = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); - for (int i = 0; i < headers.length; i++) { - result.put(headers[i].getName(), headers[i].getValue()); - } - return result; - } -} |