UrlRequest.Builder

abstract class UrlRequest.Builder


Конструктор для запросов UrlRequest . Позволяет настраивать запросы перед их созданием с помощью build . Конструктор можно создать, вызвав newUrlRequestBuilder .

Краткое содержание

Константы

const Int

Запрос имеет наивысший приоритет.

const Int

Запрос имеет самый низкий приоритет.

const Int

Низкий приоритет запроса.

const Int

Очень низкий приоритет запроса.

const Int

Средний приоритет запроса.

Государственные строители

Builder ()

Общественные функции

abstract UrlRequest.Builder !
addHeader (header: String !, value: String !)

Добавляет заголовок запроса.

UrlRequest.Builder !
addRequestAnnotation (annotation: Any !)

Связывает объект аннотации с данным запросом.

abstract UrlRequest.Builder !

Это указывает на то, что исполнители, которые этот запрос будет использовать для уведомления обратных вызовов (для UploadDataProvider и UrlRequest.Callback ), намеренно выполняют встроенное выполнение, например, directExecutor из Guava или java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy .

UrlRequest.Builder !
bindToNetwork (networkHandle: Long )

Привязывает запрос к указанному сетевому дескриптору.

abstract UrlRequest !
build ()

Создает объект UrlRequest , используя конфигурацию, заданную в этом Builder .

abstract UrlRequest.Builder !

Отключает кэширование для запроса.

abstract UrlRequest.Builder !
setHttpMethod (method: String !)

Задает метод HTTP, используемый для этого запроса.

abstract UrlRequest.Builder !
setPriority (priority: Int )

Устанавливает приоритет запроса, который должен быть одним из значений REQUEST_PRIORITY_* .

UrlRequest.Builder !
@ UrlRequest.Experimental
setRawCompressionDictionary (
dictionarySha256Hash: ByteArray !,
dictionary: ByteBuffer !,
dictionaryId: String !
)

Позволяет Cronet использовать указанный словарь сжатия для этого запроса.

UrlRequest.Builder !

Устанавливает обработчик событий, который вызывается после возврата из onCanceled() , onFailed() или onSucceeded() .

UrlRequest.Builder !

Устанавливает тег android.net.TrafficStats для учета трафика сокета, вызванного этим запросом.

UrlRequest.Builder !

Задает конкретный UID, который будет использоваться при учете трафика сокета, вызванного этим запросом.

abstract UrlRequest.Builder !
setUploadDataProvider (
uploadDataProvider: UploadDataProvider !,
executor: Executor !
)

Задает поставщика данных для загрузки.

Константы

НАИВЫСШИЙ ПРИОРИТЕТ ЗАПРОСА

const val REQUEST_PRIORITY_HIGHEST = 4: Int

Наивысший приоритет запроса. Передается в setPriority .

REQUEST_PRIORITY_IDLE

const val REQUEST_PRIORITY_IDLE = 0: Int

Наименьший приоритет запроса. Передается в setPriority .

Низкий_приоритет_запроса

const val REQUEST_PRIORITY_LOW = 2: Int

Низкий приоритет запроса. Передаётся в setPriority .

REQUEST_PRIORITY_LOWEST

const val REQUEST_PRIORITY_LOWEST = 1: Int

Очень низкий приоритет запроса. Передано в setPriority .

ЗАПРОС_СРЕДНИЙ_ПРИОРИТЕТ_ВЫБОРА

const val REQUEST_PRIORITY_MEDIUM = 3: Int

Средний приоритет запроса. Передается в setPriority . Это приоритет по умолчанию, присваиваемый запросу.

Государственные строители

Строитель

Builder()

Общественные функции

addHeader

abstract fun addHeader(header: String!, value: String!): UrlRequest.Builder!

Добавляет заголовок запроса.

Параметры
header: String !

Название заголовка.

value: String !

значение заголовка.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

addRequestAnnotation

fun addRequestAnnotation(annotation: Any!): UrlRequest.Builder!

Связывает объект аннотации с этим запросом. Можно добавить более одного объекта. Передается в RequestFinishedInfo.Listener , см. getAnnotations .

Параметры
annotation: Any !

Объект, который будет передан в RequestFinishedInfo.Listener вместе с RequestFinishedInfo .

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

allowDirectExecutor

abstract fun allowDirectExecutor(): UrlRequest.Builder!

Это указывает на то, что исполнители, которые этот запрос будет использовать для уведомления обратных вызовов (для UploadDataProvider и UrlRequest.Callback ), намеренно выполняют встроенное выполнение, например, directExecutor из Guava или java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy .

Внимание: Этот параметр позволяет легко случайно заблокировать сетевой поток. Его не следует использовать, если ваши функции обратного вызова выполняют операции ввода-вывода на диске, получают блокировки или вызывают другой код, который вы не контролируете и не проверяете должным образом.

bindToNetwork

fun bindToNetwork(networkHandle: Long): UrlRequest.Builder!

Привязывает запрос к указанному сетевому дескриптору. Cronet отправит этот запрос только через сеть, связанную с этим дескриптором. Если сеть отключится, запрос завершится неудачей; точная ошибка будет зависеть от стадии обработки запроса в момент отключения сети. Сетевые дескрипторы можно получить с помощью Network#getNetworkHandle . Доступно только начиная с Android Marshmallow.

Параметры
networkHandle: Long

Сетевой дескриптор, к которому будет привязан запрос. Укажите UNBIND_NETWORK_HANDLE , чтобы отменить привязку.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

строить

abstract fun build(): UrlRequest!

Создает объект UrlRequest , используя конфигурацию в этом Builder . Возвращенный UrlRequest затем можно запустить, вызвав start .

Возвраты
UrlRequest !

Создан UrlRequest с использованием конфигурации, заданной в этом Builder .

disableCache

abstract fun disableCache(): UrlRequest.Builder!

Отключает кэширование для запроса. Если контекст не настроен на использование кэша, этот вызов не окажет никакого эффекта.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

setHttpMethod

abstract fun setHttpMethod(method: String!): UrlRequest.Builder!

Задает метод HTTP, используемый для этого запроса.

Если этот метод не вызывается, по умолчанию используется метод "GET", если запрос не содержит тела, или "POST", если оно есть.

Параметры
method: String !

"GET", "HEAD", "DELETE", "POST" или "PUT".

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

установить приоритет

abstract fun setPriority(priority: Int): UrlRequest.Builder!

Устанавливает приоритет запроса, который должен быть одним из значений REQUEST_PRIORITY_* . Если этот метод не вызывается, запросу присваивается приоритет REQUEST_PRIORITY_MEDIUM .

Параметры
priority: Int

Приоритет запроса должен быть равен одному из значений REQUEST_PRIORITY_* .

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

setRawCompressionDictionary

@UrlRequest.Experimental
fun setRawCompressionDictionary(
    dictionarySha256Hash: ByteArray!,
    dictionary: ByteBuffer!,
    dictionaryId: String!
): UrlRequest.Builder!

Позволяет Cronet использовать указанный словарь сжатия для этого запроса. При указании Cronet может сообщить серверу о доступности указанного словаря сжатия. Для того чтобы это имело какой-либо эффект, CronetEngine, который будет выполнять этот запрос, должен быть настроен на включение схемы сжатия, поддерживающей внешние словари. Это частично реализует draft-ietf-httpbis-compression-dictionary внутри Cronet. Cronet не будет напрямую обрабатывать заголовки ответа "Use-As-Dictionary", вместо этого он будет полагаться на встраиваемый модуль, который должен: либо обработать их и позже вызвать UrlRequest.Builder#setCompressionDictionary для запросов, соответствующих правилам Use-As-Dictionary; либо получить словари сжатия с помощью какого-либо другого внеполосного механизма и позже вызвать UrlRequest.Builder#setCompressionDictionary. Cronet будет интерпретировать словарь как соответствующий только этому URL-запросу. Если указанный запрос перенаправляется, и встраиваемый модуль решает следовать перенаправлению, словарь будет соответствовать также новому URL-адресу.

Параметры
dictionarySha256Hash: ByteArray !

SHA-256 указанного словаря сжатия.

dictionary: ByteBuffer !

Словарь сжатия, который Cronet может использовать для этого URL-запроса. Это должен быть непосредственно объект ByteBuffer.

dictionaryId: String !

Необязательный идентификатор, связанный с этим словарем, должен быть пустой строкой, если он отсутствует. Если он присутствует, он будет отправлен через заголовок Dictionary-ID. Вам потребуется указать его, если сервер указал идентификатор в своем ответе "Use-As-Dictionary".

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

setRequestFinishedListener

fun setRequestFinishedListener(listener: RequestFinishedInfo.Listener!): UrlRequest.Builder!

Устанавливает обработчик событий, который вызывается после возврата из onCanceled() , onFailed() или onSucceeded() .

Слушатель вызывается с информацией о завершении запроса к объекту java.util.concurrent.Executor , предоставленному методом getExecutor() .

Параметры
listener: RequestFinishedInfo.Listener !

слушатель завершенных запросов.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

setTrafficStatsTag

fun setTrafficStatsTag(tag: Int): UrlRequest.Builder!

Устанавливает тег android.net.TrafficStats , используемый для учета трафика сокетов, вызванного этим запросом. Дополнительную информацию см. в описании android.net.TrafficStats . Если тег не установлен (например, этот метод не вызывается), Android учитывает трафик сокетов, вызванный этим запросом, как если бы значение тега было равно 0.

ПРИМЕЧАНИЕ: Установка тега запрещает совместное использование сокетов запросами с другими тегами, что может негативно сказаться на производительности, поскольку препятствует совместному использованию соединений. Другими словами, использование мультиплексированных сокетов (например, HTTP/2 и QUIC) будет разрешено только в том случае, если все запросы имеют один и тот же тег сокета.

Параметры
tag: Int

Значение тега, используемое при учете трафика сокета, вызванного этим запросом. Теги в диапазоне от 0xFFFFFF00 до 0xFFFFFFFF зарезервированы и используются внутри системных служб, таких как android.app.DownloadManager при обработке трафика от имени приложения.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

setTrafficStatsUid

fun setTrafficStatsUid(uid: Int): UrlRequest.Builder!

Устанавливает конкретный UID для учета трафика сокета, вызванного этим запросом. Дополнительную информацию см. в android.net.TrafficStats . Предназначен для использования при выполнении операции от имени другого приложения. Вызывающая сторона должна иметь разрешение MODIFY_NETWORK_ACCOUNTING . По умолчанию трафик приписывается UID вызывающей стороны.

ПРИМЕЧАНИЕ: Установка UID запрещает совместное использование сокетов запросами с другими UID, что может негативно сказаться на производительности, поскольку препятствует совместному использованию соединений. Другими словами, использование мультиплексированных сокетов (например, HTTP/2 и QUIC) будет разрешено только в том случае, если все запросы имеют один и тот же установленный UID.

Параметры
uid: Int

UID для присвоения идентификатора трафику сокета, вызванному этим запросом.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.

setUploadDataProvider

abstract fun setUploadDataProvider(
    uploadDataProvider: UploadDataProvider!,
    executor: Executor!
): UrlRequest.Builder!

Задает поставщика данных для загрузки. Если метод не указан явно, переключается на "POST". При запуске запроса будет выброшено исключение, если заголовок Content-Type не установлен.

Параметры
uploadDataProvider: UploadDataProvider !

отвечает за предоставление данных для загрузки.

executor: Executor !

Все методы uploadDataProvider будут вызываться с помощью этого Executor . В качестве опции может использоваться тот же Executor что и сам запрос.

Возвраты
UrlRequest.Builder !

строитель для облегчения создания цепочек.