com.android.volley.Request类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(230)

本文整理了Java中com.android.volley.Request类的一些代码示例,展示了Request类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Request类的具体详情如下:
包路径:com.android.volley.Request
类名称:Request

Request介绍

[英]Base class for all network requests.
[中]所有网络请求的基类。

代码示例

代码示例来源:origin: mcxiaoke/android-volley

  1. @Override
  2. public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders)
  3. throws AuthFailureError {
  4. mLastUrl = request.getUrl();
  5. mLastHeaders = new HashMap<String, String>();
  6. if (request.getHeaders() != null) {
  7. mLastHeaders.putAll(request.getHeaders());
  8. }
  9. if (additionalHeaders != null) {
  10. mLastHeaders.putAll(additionalHeaders);
  11. }
  12. try {
  13. mLastPostBody = request.getBody();
  14. } catch (AuthFailureError e) {
  15. mLastPostBody = null;
  16. }
  17. return mResponseToReturn;
  18. }
  19. }

代码示例来源:origin: bumptech/glide

  1. @Override
  2. public void cancel() {
  3. Request<byte[]> local = request;
  4. if (local != null) {
  5. local.cancel();
  6. }
  7. }

代码示例来源:origin: mcxiaoke/android-volley

  1. @SuppressWarnings("unchecked")
  2. @Override
  3. public void run() {
  4. // If this request has canceled, finish it and don't deliver.
  5. if (mRequest.isCanceled()) {
  6. mRequest.finish("canceled-at-delivery");
  7. return;
  8. }
  9. // Deliver a normal response or error, depending.
  10. if (mResponse.isSuccess()) {
  11. mRequest.deliverResponse(mResponse.result);
  12. } else {
  13. mRequest.deliverError(mResponse.error);
  14. }
  15. // If this is an intermediate response, add a marker, otherwise we're done
  16. // and the request can be finished.
  17. if (mResponse.intermediate) {
  18. mRequest.addMarker("intermediate-response");
  19. } else {
  20. mRequest.finish("done");
  21. }
  22. // If we have been provided a post-delivery runnable, run it.
  23. if (mRunnable != null) {
  24. mRunnable.run();
  25. }
  26. }
  27. }

代码示例来源:origin: chentao0707/SimplifyReader

  1. @Override
  2. public String toString() {
  3. String trafficStatsTag = "0x" + Integer.toHexString(getTrafficStatsTag());
  4. return (mCanceled ? "[X] " : "[ ] ") + getUrl() + " " + trafficStatsTag + " "
  5. + getPriority() + " " + mSequence;
  6. }
  7. }

代码示例来源:origin: mcxiaoke/android-volley

  1. /**
  2. * Creates a new request with the given method (one of the values from {@link Method}),
  3. * URL, and error listener. Note that the normal response listener is not provided here as
  4. * delivery of responses is provided by subclasses, who have a better idea of how to deliver
  5. * an already-parsed response.
  6. */
  7. public Request(int method, String url, Response.ErrorListener listener) {
  8. mMethod = method;
  9. mUrl = url;
  10. mIdentifier = createIdentifier(method, url);
  11. mErrorListener = listener;
  12. setRetryPolicy(new DefaultRetryPolicy());
  13. mDefaultTrafficStatsTag = findDefaultTrafficStatsTag(url);
  14. }

代码示例来源:origin: chentao0707/SimplifyReader

  1. /**
  2. * Creates a new request with the given method (one of the values from {@link com.android.volley.Request.Method}),
  3. * URL, and error listener. Note that the normal response listener is not provided here as
  4. * delivery of responses is provided by subclasses, who have a better idea of how to deliver
  5. * an already-parsed response.
  6. */
  7. public Request(int method, String url, Response.ErrorListener listener) {
  8. mMethod = method;
  9. mUrl = url;
  10. mErrorListener = listener;
  11. setRetryPolicy(new DefaultRetryPolicy());
  12. mDefaultTrafficStatsTag = findDefaultTrafficStatsTag(url);
  13. }

代码示例来源:origin: chentao0707/SimplifyReader

  1. /* protected */ static HttpUriRequest createHttpRequest(Request<?> request,
  2. Map<String, String> additionalHeaders) throws AuthFailureError {
  3. switch (request.getMethod()) {
  4. case Method.DEPRECATED_GET_OR_POST: {
  5. byte[] postBody = request.getPostBody();
  6. if (postBody != null) {
  7. HttpPost postRequest = new HttpPost(request.getUrl());
  8. postRequest.addHeader(HEADER_CONTENT_TYPE, request.getPostBodyContentType());
  9. HttpEntity entity;
  10. entity = new ByteArrayEntity(postBody);
  11. return postRequest;
  12. } else {
  13. return new HttpGet(request.getUrl());
  14. return new HttpGet(request.getUrl());
  15. case Method.DELETE:
  16. return new HttpDelete(request.getUrl());
  17. case Method.POST: {
  18. HttpPost postRequest = new HttpPost(request.getUrl());
  19. postRequest.addHeader(HEADER_CONTENT_TYPE, request.getBodyContentType());
  20. setEntityIfNonEmptyBody(postRequest, request);
  21. return postRequest;
  22. HttpPut putRequest = new HttpPut(request.getUrl());
  23. putRequest.addHeader(HEADER_CONTENT_TYPE, request.getBodyContentType());
  24. setEntityIfNonEmptyBody(putRequest, request);
  25. return putRequest;

代码示例来源:origin: mcxiaoke/android-volley

  1. @Override
  2. public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders)
  3. throws IOException, AuthFailureError {
  4. String url = request.getUrl();
  5. HashMap<String, String> map = new HashMap<String, String>();
  6. map.putAll(request.getHeaders());
  7. map.putAll(additionalHeaders);
  8. if (mUrlRewriter != null) {
  9. connection.getResponseCode(), connection.getResponseMessage());
  10. BasicHttpResponse response = new BasicHttpResponse(responseStatus);
  11. if (hasResponseBody(request.getMethod(), responseStatus.getStatusCode())) {
  12. response.setEntity(entityFromConnection(connection));

代码示例来源:origin: chentao0707/SimplifyReader

  1. private static void addBodyIfExists(HttpURLConnection connection, Request<?> request)
  2. throws IOException, AuthFailureError {
  3. byte[] body = request.getBody();
  4. if (body != null) {
  5. connection.setDoOutput(true);
  6. connection.addRequestProperty(HEADER_CONTENT_TYPE, request.getBodyContentType());
  7. DataOutputStream out = new DataOutputStream(connection.getOutputStream());
  8. out.write(body);
  9. out.close();
  10. }
  11. }
  12. }

代码示例来源:origin: mcxiaoke/android-volley

  1. @SuppressWarnings("deprecation")
  2. /* package */ static void setConnectionParametersForRequest(HttpURLConnection connection,
  3. Request<?> request) throws IOException, AuthFailureError {
  4. switch (request.getMethod()) {
  5. case Method.DEPRECATED_GET_OR_POST:
  6. byte[] postBody = request.getPostBody();
  7. if (postBody != null) {
  8. connection.setRequestMethod("POST");
  9. connection.addRequestProperty(HEADER_CONTENT_TYPE,
  10. request.getPostBodyContentType());
  11. DataOutputStream out = new DataOutputStream(connection.getOutputStream());
  12. out.write(postBody);

代码示例来源:origin: chentao0707/SimplifyReader

  1. int timeoutMs = request.getTimeoutMs();
  2. client.setConnectTimeout(timeoutMs, TimeUnit.MILLISECONDS);
  3. client.setReadTimeout(timeoutMs, TimeUnit.MILLISECONDS);
  4. okHttpRequestBuilder.url(request.getUrl());
  5. Map<String, String> headers = request.getHeaders();
  6. for (final String name : headers.keySet()) {
  7. okHttpRequestBuilder.addHeader(name, headers.get(name));

代码示例来源:origin: mcxiaoke/android-volley

  1. addCacheHeaders(headers, request.getCacheEntry());
  2. httpResponse = mHttpStack.performRequest(request, headers);
  3. StatusLine statusLine = httpResponse.getStatusLine();
  4. Entry entry = request.getCacheEntry();
  5. if (entry == null) {
  6. return new NetworkResponse(HttpStatus.SC_NOT_MODIFIED, null,
  7. request.setRedirectUrl(newUrl);
  8. attemptRetryOnException("connection", request, new TimeoutError());
  9. } catch (MalformedURLException e) {
  10. throw new RuntimeException("Bad URL " + request.getUrl(), e);
  11. } catch (IOException e) {
  12. int statusCode = 0;
  13. VolleyLog.e("Request at %s has been redirected to %s", request.getOriginUrl(), request.getUrl());
  14. } else {
  15. VolleyLog.e("Unexpected response code %d for %s", statusCode, request.getUrl());

代码示例来源:origin: chentao0707/SimplifyReader

  1. @Override
  2. public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders)
  3. throws IOException, AuthFailureError {
  4. HttpUriRequest httpRequest = createHttpRequest(request, additionalHeaders);
  5. addHeaders(httpRequest, additionalHeaders);
  6. addHeaders(httpRequest, request.getHeaders());
  7. onPrepareRequest(httpRequest);
  8. HttpParams httpParams = httpRequest.getParams();
  9. int timeoutMs = request.getTimeoutMs();
  10. // TODO: Reevaluate this connection timeout based on more wide-scale
  11. // data collection and possibly different for wifi vs. 3G.
  12. HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
  13. HttpConnectionParams.setSoTimeout(httpParams, timeoutMs);
  14. return mClient.execute(httpRequest);
  15. }

代码示例来源:origin: chentao0707/SimplifyReader

  1. @Override
  2. public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders)
  3. throws IOException, AuthFailureError {
  4. String url = request.getUrl();
  5. HashMap<String, String> map = new HashMap<String, String>();
  6. map.putAll(request.getHeaders());
  7. map.putAll(additionalHeaders);
  8. if (mUrlRewriter != null) {

代码示例来源:origin: chentao0707/SimplifyReader

  1. addCacheHeaders(headers, request.getCacheEntry());
  2. httpResponse = mHttpStack.performRequest(request, headers);
  3. StatusLine statusLine = httpResponse.getStatusLine();
  4. Entry entry = request.getCacheEntry();
  5. if (entry == null) {
  6. return new NetworkResponse(HttpStatus.SC_NOT_MODIFIED, null,
  7. attemptRetryOnException("connection", request, new TimeoutError());
  8. } catch (MalformedURLException e) {
  9. throw new RuntimeException("Bad URL " + request.getUrl(), e);
  10. } catch (IOException e) {
  11. int statusCode = 0;
  12. throw new NoConnectionError(e);
  13. VolleyLog.e("Unexpected response code %d for %s", statusCode, request.getUrl());
  14. if (responseContents != null) {
  15. networkResponse = new NetworkResponse(statusCode, responseContents,

代码示例来源:origin: chentao0707/SimplifyReader

  1. @Override
  2. public boolean apply(Request<?> request) {
  3. return request.getTag() == tag;
  4. }
  5. });

代码示例来源:origin: mcxiaoke/android-volley

  1. @Override
  2. public void deliverError(VolleyError error) {
  3. super.deliverError(error);
  4. deliverError_called = true;
  5. }

代码示例来源:origin: mcxiaoke/android-volley

  1. @Test public void cacheMiss() throws Exception {
  2. mCacheQueue.add(mRequest);
  3. mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS);
  4. assertFalse(mDelivery.wasEitherResponseCalled());
  5. assertTrue(mNetworkQueue.size() > 0);
  6. Request request = mNetworkQueue.take();
  7. assertNull(request.getCacheEntry());
  8. }

代码示例来源:origin: mcxiaoke/android-volley

  1. @Test public void cancelAll_onlyCorrectTag() throws Exception {
  2. RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 0, mDelivery);
  3. Object tagA = new Object();
  4. Object tagB = new Object();
  5. Request req1 = mock(Request.class);
  6. when(req1.getTag()).thenReturn(tagA);
  7. Request req2 = mock(Request.class);
  8. when(req2.getTag()).thenReturn(tagB);
  9. Request req3 = mock(Request.class);
  10. when(req3.getTag()).thenReturn(tagA);
  11. Request req4 = mock(Request.class);
  12. when(req4.getTag()).thenReturn(tagA);
  13. queue.add(req1); // A
  14. queue.add(req2); // B
  15. queue.add(req3); // A
  16. queue.cancelAll(tagA);
  17. queue.add(req4); // A
  18. verify(req1).cancel(); // A cancelled
  19. verify(req3).cancel(); // A cancelled
  20. verify(req2, never()).cancel(); // B not cancelled
  21. verify(req4, never()).cancel(); // A added after cancel not cancelled
  22. }
  23. }

代码示例来源:origin: avluis/Hentoid

  1. private static void setConnectionParametersForRequest(okhttp3.Request.Builder builder, Request<?> request)
  2. throws AuthFailureError {
  3. switch (request.getMethod()) {
  4. case Request.Method.DEPRECATED_GET_OR_POST:
  5. byte[] postBody = request.getBody();
  6. if (postBody != null) {
  7. builder.post(RequestBody.create(MediaType.parse(request.getBodyContentType()), postBody));

相关文章