com.github.cloudfiles.core.http

Members list

Type members

Classlikes

An actor implementation for sending HTTP requests to a specific host.

An actor implementation for sending HTTP requests to a specific host.

This module provides an actor-like wrapper around Akka HTTP's host level API. An HTTP request can be sent by passing a message to this actor. The actor processes the request and replies with a corresponding response.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

An actor implementation that can send HTTP requests to multiple hosts.

An actor implementation that can send HTTP requests to multiple hosts.

Being a layer on top of Akka HTTP's host level API, HttpRequestSender is configured with a single host, to which all requests are sent. This actor implementation overcomes this limitation by creating request actors dynamically whenever a request to a new host is encountered. All request actors managed by an instance are hold in a map, so they are reused. The creation of new child actors is done via a factory function, so it can be customized if necessary.

Note that this implementation is not intended to be used as a generic mechanism for sending arbitrary HTTP requests; keeping all the different request actors around would be rather ineffective. Some protocols, however, require that requests are sent to different hosts, for instance when file downloads are handled by a different server than other API calls.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object ProxySupport

A module defining functionality related to proxy support for actors sending HTTP(S) requests.

A module defining functionality related to proxy support for actors sending HTTP(S) requests.

Proxies are enabled by passing a special ''ProxySelectorFunc'' to the ''apply()'' function of HttpRequestSender. The function then installs a proxy based on the URL to be used by the actor. This module defines a couple of default proxy selector functions.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

An extension actor that intercepts requests, which failed with a 429 - TOO MANY REQUESTS status code and retries them after a delay.

An extension actor that intercepts requests, which failed with a 429 - TOO MANY REQUESTS status code and retries them after a delay.

When interacting with public servers and downloading or uploading many small files, the server can reject requests with the failure status 429. In this case, the response should typically contain a ''Retry-After'' header that determines when further requests are accepted again. The actor evaluates this header and re-schedules the execution of the request when this point of time is reached.

The actor can be configured with a minimum delay, which is also used if a response does not contain a ''Retry-After'' header.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object Secret

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Secret.type
class Secret(secretRaw: Array[Char])

A class representing a secret piece of data, such as a password or an OAuth client secret.

A class representing a secret piece of data, such as a password or an OAuth client secret.

The main purpose of this class is to store the secret information in a different representation than a plain string and to provide it as a string on demand.

Value parameters

secretRaw

the secret as character array

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

An object providing functionality to encode and normalize URIs.

An object providing functionality to encode and normalize URIs.

Many of the concrete ''FileSystem'' implementations have to manipulate URIs. This helper class provides some utility functionality in this area. It supports encoding and decoding URIs and their components, splitting URIs into their path components, concatenating path components, etc.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type