blob: ab5e963077140cd0e4b4e187c7a79bdcdcd80113 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.net.impl;
import androidx.annotation.RequiresApi;
import java.io.IOException;
import java.nio.ByteBuffer;
@RequiresApi(api = 34)
@SuppressWarnings("Override")
class UploadDataProviderWrapper extends android.net.http.UploadDataProvider {
private final org.chromium.net.UploadDataProvider mBackend;
public UploadDataProviderWrapper(org.chromium.net.UploadDataProvider backend) {
this.mBackend = backend;
}
@Override
public long getLength() throws IOException {
return mBackend.getLength();
}
@Override
public void read(android.net.http.UploadDataSink uploadDataSink, ByteBuffer byteBuffer)
throws IOException {
AndroidUploadDataSinkWrapper wrapper = new AndroidUploadDataSinkWrapper(uploadDataSink);
mBackend.read(wrapper, byteBuffer);
}
@Override
public void rewind(android.net.http.UploadDataSink uploadDataSink) throws IOException {
AndroidUploadDataSinkWrapper wrapper = new AndroidUploadDataSinkWrapper(uploadDataSink);
mBackend.rewind(wrapper);
}
@Override
public void close() throws IOException {
mBackend.close();
}
}