• 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 static org.chromium.net.impl.HttpEngineNativeProvider.EXT_API_LEVEL;
8 import static org.chromium.net.impl.HttpEngineNativeProvider.EXT_VERSION;
9 
10 import androidx.annotation.RequiresExtension;
11 import java.io.IOException;
12 import java.nio.ByteBuffer;
13 import java.util.Objects;
14 
15 @RequiresExtension(extension = EXT_API_LEVEL, version = EXT_VERSION)
16 @SuppressWarnings("Override")
17 class AndroidUploadDataProviderWrapper extends android.net.http.UploadDataProvider {
18     private final org.chromium.net.UploadDataProvider mBackend;
19 
AndroidUploadDataProviderWrapper(org.chromium.net.UploadDataProvider backend)20     public AndroidUploadDataProviderWrapper(org.chromium.net.UploadDataProvider backend) {
21         Objects.requireNonNull(backend, "Invalid UploadDataProvider.");
22         this.mBackend = backend;
23     }
24 
25     @Override
getLength()26     public long getLength() throws IOException {
27         return mBackend.getLength();
28     }
29 
30     @Override
read(android.net.http.UploadDataSink uploadDataSink, ByteBuffer byteBuffer)31     public void read(android.net.http.UploadDataSink uploadDataSink, ByteBuffer byteBuffer)
32             throws IOException {
33         AndroidUploadDataSinkWrapper wrapper = new AndroidUploadDataSinkWrapper(uploadDataSink);
34         mBackend.read(wrapper, byteBuffer);
35     }
36 
37     @Override
rewind(android.net.http.UploadDataSink uploadDataSink)38     public void rewind(android.net.http.UploadDataSink uploadDataSink) throws IOException {
39         AndroidUploadDataSinkWrapper wrapper = new AndroidUploadDataSinkWrapper(uploadDataSink);
40         mBackend.rewind(wrapper);
41     }
42 
43     @Override
close()44     public void close() throws IOException {
45         mBackend.close();
46     }
47 }
48