module Nethttp:sig
..end
typeprotocol_version =
int * int
typeprotocol_attribute =
[ `Secure_https ]
typeprotocol =
[ `Http of protocol_version * protocol_attribute list
| `Other ]
`Http((0,9),_)
is the ancient HTTP version 0.9`Http((1,n),_)
is the HTTP protocol 1.n. It is expected that
all these versions are compatible to each other
except negotiable features.`Http((m,_),_)
for m>1 is regarded as unknown protocol,
incompatible to any `Http((1,n),_)
`Other
is anything else (unrecognizes protocol)val string_of_protocol : protocol -> string
`Other
val protocol_of_string : string -> protocol
`Other
for unrecognized stringstypehttp_status =
[ `Accepted
| `Bad_gateway
| `Bad_request
| `Conflict
| `Continue
| `Created
| `Expectation_failed
| `Forbidden
| `Found
| `Gateway_timeout
| `Gone
| `Http_version_not_supported
| `Internal_server_error
| `Length_required
| `Method_not_allowed
| `Moved_permanently
| `Multiple_choices
| `No_content
| `Non_authoritative
| `Not_acceptable
| `Not_found
| `Not_implemented
| `Not_modified
| `Ok
| `Partial_content
| `Payment_required
| `Precondition_failed
| `Proxy_auth_required
| `Request_entity_too_large
| `Request_timeout
| `Request_uri_too_long
| `Requested_range_not_satisfiable
| `Reset_content
| `See_other
| `Service_unavailable
| `Switching_protocols
| `Temporary_redirect
| `Unauthorized
| `Unsupported_media_type
| `Use_proxy ]
Informational (1xx):
`Continue
`Switching_protocols
`Ok
`Created
`Accepted
`Non_authoritative
`No_content
`Reset_content
`Partial_content
`Multiple_choices
`Moved_permanently
`Found
`See_other
`Not_modified
`Use_proxy
`Temporary_redirect
`Bad_request
`Unauthorized
`Payment_required
`Forbidden
`Not_found
`Method_not_allowed
`Not_acceptable
`Proxy_auth_required
`Request_timeout
`Conflict
`Gone
`Length_required
`Precondition_failed
`Request_entity_too_large
`Request_uri_too_long
`Unsupported_media_type
`Request_range_not_satisfiable
`Expectation_failed
`Internal_server_error
`Not_implemented
`Bad_gateway
`Service_unavailable
`Gateway_timeout
`Http_version_not_supported
val int_of_http_status : http_status -> int
val http_status_of_int : int -> http_status
Not_found
val string_of_http_status : http_status -> string
val base_code : int -> int
http_status_of_int
: let st =
try Nethttp.http_status_of_int code
with Not_found ->
Nethttp.http_status_of_int (Nethttp.base_code code)
typehttp_method =
string * string
typecache_control_token =
[ `Extension of string * string option
| `Max_age of int
| `Max_stale of int option
| `Min_fresh of int
| `Must_revalidate
| `No_cache of string list
| `No_store
| `No_transform
| `Only_if_cached
| `Private of string list
| `Proxy_revalidate
| `Public
| `S_maxage of int ]
Cache-control
headertypeetag =
[ `Strong of string | `Weak of string ]
val weak_validator_match : etag -> etag -> bool
val strong_validator_match : etag -> etag -> bool
exception Bad_header_field of string
class type http_header = Netmime.mime_header
class type http_header_ro = Netmime.mime_header_ro
class type http_trailer = Netmime.mime_header
class type http_trailer_ro = Netmime.mime_header_ro
val status_of_cgi_header : http_header -> int * string
Status
header
= {
|
: |
(* |
The name of the cookie
| *) |
|
: |
(* |
The value of the cookie. There are no restrictions on the
value of the cookie
| *) |
|
: |
(* |
Expiration:
| *) |
|
: |
(* |
Cookies are bound to a certain domain, i.e. the browser sends
them only when web pages of the domain are requested:
| *) |
|
: |
(* |
Cookies are also bound to certain path prefixes, i.e. the browser
sends them only when web pages at the path or below are requested.
| *) |
|
: |
(* |
Cookies are also bound to the type of the web server:
false means servers without SSL, true means servers with
activated SSL ("https"). | *) |
Nethttp.Cookie
module.
This type is kept for now (and is also not considered as deprecated),
as the access functions in the Nethttp.Header
module are more
complete than those for Nethttp.Cookie
.
netscape_cookie
= val decode_query : string -> string * string
val split_host_port : string -> string * int option
Host
header in hostname and optional port number.
Fails on syntax errorval uripath_encode : string -> string
val uripath_decode : string -> string
module Cookie:sig
..end
module Header:sig
..end
typetransport_layer_id =
int
val new_trans_id : unit -> transport_layer_id
val http_trans_id : transport_layer_id
val https_trans_id : transport_layer_id
val spnego_trans_id : transport_layer_id
val proxy_only_trans_id : transport_layer_id
Netsys_sasl_types.SASL_MECHANISM
. This is very similar,
only thattypematch_result =
[ `Accept of string * string option
| `Accept_reroute of string * string option * transport_layer_id
| `Reject
| `Reroute of string * transport_layer_id ]
module type HTTP_CLIENT_MECHANISM =sig
..end