module Convenience:sig..end
Convenience module for simple applications
Do open Nethttp_client.Convenience for simple applications.
The functions of this module share the following behaviour:
The environment variables http_proxy and no_proxy determine
the proxy settings. http_proxy must be an http-URL that contains
the proxy's name, its port, and optionally user and password.
E.g. "http://eric:ericspassword@proxy:8080/".
The variable no_proxy is a comma-separated list of hosts and
domains for which no proxy must be used.
E.g. "localhost, sun, moon, .intra.net"
There is a default behaviour for authentication. Both "basic" and
"digest" methods are enabled. Two global variables, http_user and
http_password set the user and password if the URL does not specify
them. In the case that user and password are included in the URL,
these values are always
used. Note that basic authentication is by default only enabled over
connections that are secured via TLS! You can change that with the
function configure, see below.
There is a default error behaviour. If a request fails, it is
automatically repeated. The variable http_trials specifies the number
of times a request is submitted at most.
Requests are not repeated if there is a HTTP return code that indicates
a normal operating condition.
POST and DELETE requests are never repeated.
Error codes are reported as Nethttp_client.Http_error. Note that
this is different than what the pipeline core does.
Thread safety
The Convenience module is fully thread-safe with the exception of the exported variables (http_trials, http_user, and http_password). Note that all threads share the same pipeline, and access to the pipeline is serialized. The latter simply means that it always works, but that threads may block each other (i.e. the program slows down if more than one thread wants to open http connections at the same time).
val http_trials : int Stdlib.refnumber of times every request is tried. Default: 3
val http_user : string Stdlib.refThe default user if authentication is required
val http_password : string Stdlib.refThe default password if authentication is required
val configure : ?insecure:bool -> unit -> unitConfigurations:
insecure: whether basic authentication over non-TLS connections
is enabledYou can only configure before the first user.
val configure_pipeline : (Nethttp_client.pipeline -> unit) -> unitThis function will be called before the pipeline is used. This is intended for fine-grained configuration.
val http_get_message : string -> Nethttp_client.http_callDoes a "GET" request with the given URL and returns the message
val http_head_message : string -> Nethttp_client.http_callDoes a "HEAD" request with the given URL and returns the reply.
val http_post_message : string -> (string * string) list -> Nethttp_client.http_callDoes a "POST" request with the given URL and returns the reply. The list contains the parameters sent with the POST request.
val http_put_message : string -> string -> Nethttp_client.http_callDoes a "PUT" request with the given URL and returns the reply. The second argument contains the contents to be put.
val http_delete_message : string -> Nethttp_client.http_callDoes a "DELETE" request with the given URL and returns the reply.
val http_get : string -> stringDoes a "GET" request with the given URL and returns the message body
val http_post : string -> (string * string) list -> stringDoes a "POST" request with the given URL and returns the response body. The list contains the parameters send with the POST request.
val http_put : string -> string -> stringDoes a "PUT" request with the given URL and returns the response body. The second argument contains the contents to be put.
val http_delete : string -> stringDoes a "DELETE" request with the given URL and returns the response body.
val http_verbose : ?verbose_status:bool ->
?verbose_request_header:bool ->
?verbose_response_header:bool ->
?verbose_request_contents:bool ->
?verbose_response_contents:bool ->
?verbose_connection:bool -> ?verbose_events:bool -> unit -> unitTurns on debug messages on stderr. By default, all options are turned on.