• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.net.impl;
6 
7 import androidx.annotation.NonNull;
8 import androidx.annotation.Nullable;
9 
10 import static org.chromium.net.impl.HttpEngineNativeProvider.EXT_API_LEVEL;
11 import static org.chromium.net.impl.HttpEngineNativeProvider.EXT_VERSION;
12 
13 import androidx.annotation.RequiresExtension;
14 
15 import org.chromium.net.UrlResponseInfo;
16 
17 import java.nio.ByteBuffer;
18 
19 @RequiresExtension(extension = EXT_API_LEVEL, version = EXT_VERSION)
20 class AndroidUrlRequestWrapper extends org.chromium.net.ExperimentalUrlRequest {
21     private final android.net.http.UrlRequest mBackend;
22 
AndroidUrlRequestWrapper(android.net.http.UrlRequest backend)23     AndroidUrlRequestWrapper(android.net.http.UrlRequest backend) {
24         this.mBackend = backend;
25     }
26 
27     @Override
start()28     public void start() {
29         mBackend.start();
30     }
31 
32     @Override
followRedirect()33     public void followRedirect() {
34         mBackend.followRedirect();
35     }
36 
37     @Override
read(ByteBuffer buffer)38     public void read(ByteBuffer buffer) {
39         mBackend.read(buffer);
40     }
41 
42     @Override
cancel()43     public void cancel() {
44         mBackend.cancel();
45     }
46 
47     @Override
isDone()48     public boolean isDone() {
49         return mBackend.isDone();
50     }
51 
52     @Override
getStatus(StatusListener listener)53     public void getStatus(StatusListener listener) {
54         mBackend.getStatus(new AndroidUrlRequestStatusListenerWrapper(listener));
55     }
56 
57     @Override
getTrafficStatsUid()58     public int getTrafficStatsUid() {
59         return mBackend.getTrafficStatsUid();
60     }
61 
62     @Override
getPriority()63     public int getPriority() {
64         return mBackend.getPriority();
65     }
66 
67     @Override
hasTrafficStatsTag()68     public boolean hasTrafficStatsTag() {
69         return mBackend.hasTrafficStatsTag();
70     }
71 
72     @Override
hasTrafficStatsUid()73     public boolean hasTrafficStatsUid() {
74         return mBackend.hasTrafficStatsUid();
75     }
76 
77     @Override
getTrafficStatsTag()78     public int getTrafficStatsTag() {
79         return mBackend.getTrafficStatsTag();
80     }
81 
82     @Override
isDirectExecutorAllowed()83     public boolean isDirectExecutorAllowed() {
84         return mBackend.isDirectExecutorAllowed();
85     }
86 
87     @Override
isCacheDisabled()88     public boolean isCacheDisabled() {
89         return mBackend.isCacheDisabled();
90     }
91 
92     @NonNull
93     @Override
getHeaders()94     public UrlResponseInfo.HeaderBlock getHeaders() {
95         return new AndroidHeaderBlockWrapper(mBackend.getHeaders());
96     }
97 
98     @Nullable
99     @Override
getHttpMethod()100     public String getHttpMethod() {
101         return mBackend.getHttpMethod();
102     }
103 }
104