UrlRequest.Builder

abstract class UrlRequest.Builder


Es el compilador de UrlRequest. Permite configurar solicitudes antes de construirlas con build. El compilador se puede crear llamando a newUrlRequestBuilder.

Resumen

Constantes

const Int

Es la prioridad más alta de la solicitud.

const Int

Es la prioridad de solicitud más baja.

const Int

Prioridad de solicitud baja.

const Int

Prioridad de solicitud muy baja.

const Int

Prioridad media de la solicitud.

Constructores públicos

Funciones públicas

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

Agrega un encabezado de solicitud.

UrlRequest.Builder!
addRequestAnnotation(annotation: Any!)

Asocia el objeto de anotación con esta solicitud.

abstract UrlRequest.Builder!

Indica que los ejecutores que usará esta solicitud para notificar devoluciones de llamada (para UploadDataProviders y UrlRequest.Callbacks) realizan intencionalmente la ejecución intercalada, como directExecutor de Guava o java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

UrlRequest.Builder!
bindToNetwork(networkHandle: Long)

Vincula la solicitud al identificador de red especificado.

abstract UrlRequest!

Crea un UrlRequest con la configuración de este Builder.

abstract UrlRequest.Builder!

Inhabilita la caché para la solicitud.

abstract UrlRequest.Builder!

Establece el verbo del método HTTP que se usará para esta solicitud.

abstract UrlRequest.Builder!
setPriority(priority: Int)

Establece la prioridad de la solicitud, que debe ser uno de los valores de REQUEST_PRIORITY_*.

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

Permite que Cronet use el diccionario de compresión especificado para esta solicitud.

UrlRequest.Builder!

Establece un objeto de escucha que se invoca después de que se devuelven onCanceled(), onFailed() o onSucceeded().

UrlRequest.Builder!

Establece la etiqueta android.net.TrafficStats que se usará cuando se contabilice el tráfico de sockets causado por esta solicitud.

UrlRequest.Builder!

Establece el UID específico que se usará cuando se contabilice el tráfico de sockets causado por esta solicitud.

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

Establece el proveedor de datos de carga.

Constantes

REQUEST_PRIORITY_HIGHEST

const val REQUEST_PRIORITY_HIGHEST = 4: Int

Es la prioridad más alta de la solicitud. Se pasó a setPriority.

REQUEST_PRIORITY_IDLE

const val REQUEST_PRIORITY_IDLE = 0: Int

Es la prioridad de solicitud más baja. Se pasó a setPriority.

REQUEST_PRIORITY_LOW

const val REQUEST_PRIORITY_LOW = 2: Int

Prioridad de solicitud baja. Se pasó a setPriority.

REQUEST_PRIORITY_LOWEST

const val REQUEST_PRIORITY_LOWEST = 1: Int

Prioridad de solicitud muy baja. Se pasó a setPriority.

REQUEST_PRIORITY_MEDIUM

const val REQUEST_PRIORITY_MEDIUM = 3: Int

Prioridad media de la solicitud. Se pasó a setPriority. Esta es la prioridad predeterminada que se le asigna a la solicitud.

Constructores públicos

Builder

Builder()

Funciones públicas

addHeader

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

Agrega un encabezado de solicitud.

Parámetros
header: String!

Nombre del encabezado.

value: String!

valor del encabezado.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

addRequestAnnotation

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

Asocia el objeto de anotación con esta solicitud. Puedes agregar más de uno. Se pasa a un RequestFinishedInfo.Listener. Consulta getAnnotations.

Parámetros
annotation: Any!

Un objeto para pasar al RequestFinishedInfo.Listener con un RequestFinishedInfo.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

allowDirectExecutor

abstract fun allowDirectExecutor(): UrlRequest.Builder!

Indica que los ejecutores que usará esta solicitud para notificar devoluciones de llamada (para UploadDataProviders y UrlRequest.Callbacks) realizan intencionalmente la ejecución intercalada, como directExecutor de Guava o java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

Advertencia: Con esta opción, es fácil bloquear accidentalmente el subproceso de red. No se debe usar si tus devoluciones de llamada realizan E/S de disco, adquieren bloqueos o llaman a otro código que no controlas ni auditas cuidadosamente.

bindToNetwork

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

Vincula la solicitud al identificador de red especificado. Cronet enviará esta solicitud solo a través de la red asociada a este identificador. Si se desconecta esta red, la solicitud fallará. El error exacto dependerá de la etapa de procesamiento de la solicitud en la que se desconecte la red. Los identificadores de red se pueden obtener a través de Network#getNetworkHandle. Solo disponible a partir de Android Marshmallow.

Parámetros
networkHandle: Long

Es el identificador de red al que se debe vincular la solicitud. Especifica UNBIND_NETWORK_HANDLE para desvincular.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

build

abstract fun build(): UrlRequest!

Crea un UrlRequest con la configuración de este Builder. Luego, se puede iniciar el UrlRequest devuelto llamando a start.

Muestra
UrlRequest!

UrlRequest construido con la configuración dentro de este Builder.

Inhabilitar la caché

abstract fun disableCache(): UrlRequest.Builder!

Inhabilita la caché para la solicitud. Si el contexto no está configurado para usar la caché, esta llamada no tendrá efecto.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setHttpMethod

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

Establece el verbo del método HTTP que se usará para esta solicitud.

El valor predeterminado cuando no se llama a este método es "GET" si la solicitud no tiene cuerpo o "POST" si lo tiene.

Parámetros
method: String!

"GET", "HEAD", "DELETE", "POST" o "PUT".

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setPriority

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

Establece la prioridad de la solicitud, que debe ser uno de los valores de REQUEST_PRIORITY_*. La solicitud recibe prioridad REQUEST_PRIORITY_MEDIUM si no se llama a este método.

Parámetros
priority: Int

Es la prioridad de la solicitud, que debe ser uno de los valores de REQUEST_PRIORITY_*.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setRawCompressionDictionary

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

Permite que Cronet use el diccionario de compresión especificado para esta solicitud. Cuando se especifica, Cronet puede indicarle al servidor la disponibilidad de dicho diccionario de compresión. Para que esto surta efecto, el objeto CronetEngine que ejecutará esta solicitud debe haberse configurado para habilitar un esquema de compresión que admita diccionarios externos. Esto implementa parcialmente draft-ietf-httpbis-compression-dictionary dentro de Cronet. Cronet no controlará directamente los encabezados de respuesta "Use-As-Dictionary", sino que dependerá del incorporador para que los controle y, luego, llame a UrlRequest.Builder#setCompressionDictionary para las solicitudes que coincidan con las reglas de Use-As-Dictionary, o bien para que recupere diccionarios de compresión a través de algún otro mecanismo fuera de banda y, luego, llame a UrlRequest.Builder#setCompressionDictionary. Cronet interpretará el diccionario como si solo coincidiera con este UrlRequest. Si se redirecciona la solicitud y el sitio que incorpora el contenido decide seguir el redireccionamiento, el diccionario también coincidirá con la URL nueva.

Parámetros
dictionarySha256Hash: ByteArray!

Es el SHA-256 del diccionario de compresión especificado.

dictionary: ByteBuffer!

Es el diccionario de compresión que Cronet puede usar para este objeto UrlRequest. Debe ser un ByteBuffer directo.

dictionaryId: String!

Es el ID opcional asociado a este diccionario. Debe ser una cadena vacía si falta. Si está presente, se enviará a través del encabezado Dictionary-ID. Deberás especificarlo si el servidor especificó un ID en su respuesta "Use-As-Dictionary".

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setRequestFinishedListener

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

Establece un objeto de escucha que se invoca después de que se devuelven onCanceled(), onFailed() o onSucceeded().

Se invoca al objeto de escucha con la información de solicitud finalizada en un java.util.concurrent.Executor proporcionado por getExecutor().

Parámetros
listener: RequestFinishedInfo.Listener!

Es el objeto de escucha para las solicitudes finalizadas.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setTrafficStatsTag

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

Establece la etiqueta android.net.TrafficStats que se usará cuando se contabilice el tráfico de sockets causado por esta solicitud. Consulta android.net.TrafficStats para obtener más información. Si no se establece ninguna etiqueta (p.ej., no se llama a este método), Android contabiliza el tráfico de sockets causado por esta solicitud como si el valor de la etiqueta se hubiera establecido en 0.

NOTA: Establecer una etiqueta no permite compartir sockets con solicitudes que tengan otras etiquetas, lo que puede afectar negativamente el rendimiento, ya que se prohíbe el uso compartido de conexiones. En otras palabras, el uso de sockets multiplexados (p.ej., HTTP/2 y QUIC) solo se permitirá si todas las solicitudes tienen la misma etiqueta de socket.

Parámetros
tag: Int

Es el valor de la etiqueta que se usa cuando se contabiliza el tráfico de sockets causado por esta solicitud. Las etiquetas entre 0xFFFFFF00 y 0xFFFFFFFF están reservadas y los servicios del sistema, como android.app.DownloadManager, las usan de forma interna cuando realizan tráfico en nombre de una aplicación.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setTrafficStatsUid

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

Establece el UID específico que se usará cuando se contabilice el tráfico de sockets causado por esta solicitud. Consulta android.net.TrafficStats para obtener más información. Se diseñó para usarse cuando se realiza una operación en nombre de otra aplicación. El emisor debe tener el permiso MODIFY_NETWORK_ACCOUNTING. De forma predeterminada, el tráfico se atribuye al UID de la entidad que realiza la llamada.

NOTA: Establecer un UID no permite compartir sockets con solicitudes que tengan otros UID, lo que puede afectar negativamente el rendimiento, ya que se prohíbe el uso compartido de conexiones. En otras palabras, el uso de sockets multiplexados (p.ej., HTTP/2 y QUIC) solo se permitirá si todas las solicitudes tienen establecido el mismo UID.

Parámetros
uid: Int

Es el UID para atribuir el tráfico de sockets causado por esta solicitud.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.

setUploadDataProvider

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

Establece el proveedor de datos de carga. Cambia el método a "POST" si no se establece de forma explícita. Si no se configura un encabezado Content-Type, se arrojará una excepción cuando se inicie la solicitud.

Parámetros
uploadDataProvider: UploadDataProvider!

es responsable de proporcionar los datos de carga.

executor: Executor!

Todos los métodos uploadDataProvider se invocarán con este Executor. Opcionalmente, puede ser el mismo Executor que usa la solicitud.

Muestra
UrlRequest.Builder!

el compilador para facilitar el encadenamiento.