module Netcgi_types:Basic types for CGI and related protocolssig..end
exception Resources_exceeded
class type simple_message = Netmime.mime_bodysimple_message stores the value of the CGI argument as an
unstructured string value.
typestore =[ `File of string | `Memory ]
`Memory: In an O'Caml string`File name: In the file name. The file contains the value of
the argument after all transfer-related encodings have been
removed (i.e. URL-encoding, and MIME transfer encodings).typerepresentation =[ `MIME of Netmime.mime_message | `Simple of simple_message ]
`Simple msg: The argument is unstructured`MIME msg: The argument has a MIME header in addition to the valueclass type cgi_argument =object..end
type cgi_cookie = {
|
cookie_name : |
(* | The name of the cookie | *) |
|
cookie_value : |
(* | The value of the cookie. There are no restrictions on the
value of the cookie | *) |
|
cookie_expires : |
(* | Expiration: | *) |
|
cookie_domain : |
(* | Cookies are bound to a certain domain, i.e. the browser sends
them only when web pages of the domain are requested:
| *) |
|
cookie_path : |
(* | 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.
| *) |
|
cookie_secure : |
(* | Cookies are also bound to the type of the web server:
| *) |
typestatus =[ `Accepted
| `Bad_gateway
| `Bad_request
| `Conflict
| `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
| `Temporary_redirect
| `Unauthorized
| `Unsupported_media_type
| `Use_proxy ]
Successful (2xx):
`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_supportedtyperequest_method =[ `DELETE | `GET | `HEAD | `POST | `PUT of cgi_argument ]
`GET: Side effect-free request of a web resource`POST: Request with side effects`HEAD: Only the header of the corresponding `GET are requested`DELETE: Request to delete the web resource`PUT arg: Request to upload the web resourcetypecache_control =[ `Max_age of int | `No_cache | `Unspecified ]
`No_cache:
Caches are disabled. The following headers are sent:
Cache-control: no-cache, Pragma: no-cache, Expires: (now - 1 second)`Max_age n:
Caches are allowed to store a copy of the response for n seconds.
After that, the response must be revalidated.
Cache-control: max-age n, Cache-control: must-revalidate,
Expires: (now + n seconds)`Unspecified:
No cache control header is added to the response.Pragma and Expires headers are sent, too.
These fields are not interpreted by HTTP/1.1 clients because
Cache-control has higher precedence.typequery_string_spec =[ `Args of cgi_argument list | `Current | `Initial | `None ]
`Initial: The query string is created from the initial
CGI arguments`Current: The query string is created from the current
CGI arguments`Args l: The query string is created from the specified argument list`None: The query string is omittedtypeother_url_spec =[ `Env | `None | `This of string ]
`Env: Take the value from the environment`This v: Use this value v. It must already be URL-encoded.`None: Do not include this part into the URLclass type cgi_activation =object..end