class cgi : ?post_max:int -> Request.t ->
object
.. end
new cgi ?post_max r
creates a cgi object for the request r
.
Note that you are advised not to create more than one cgi per
request unless you know what you are doing.
post_max
: set the maximum size for POSTed requests in
bytes. This is a security feature to prevent clients from
overrunning the server with data. The default is
Sys.max_string_length
, meaning no limit (besides OCaml ones).
method header : ?content_type:string ->
?cookie:Cookie.cookie ->
?cookies:Cookie.cookie list -> ?cookie_cache:bool -> unit -> unit
Emit the header. The default content type is "text/html".
method template : 'a.
?content_type:string ->
?cookie:Cookie.cookie ->
?cookies:Cookie.cookie list ->
?cookie_cache:bool -> (#template as 'a) -> unit
Emit the header (unless #header was issued before) followed by
the given template.
Raises Failure
if the output is not
successful.
method exit : 'b. unit -> 'b
Exit the current cgi script. (You need not to call this at
the end of your code, just if you want to exit earlier.)
method redirect : 'c.
?cookie:Cookie.cookie ->
?cookies:Cookie.cookie list -> ?cookie_cache:bool -> string -> 'c
#redirect ?cookie ?cookies url
quits the current cgi
script and send to the client a redirection header to url
.
method url : unit -> string
Return the URL of the script.
method param : string -> string
#param name
returns the "first" value of the parameter
name
.
Raises Not_found
if name
does not designate a valid
parameter.
method param_all : string -> string list
#param_all name
returns all the values of the parameter
name
.
Raises Not_found
if name
does not designate a
valid parameter.
method param_exists : string -> bool
Return true iff the named parameter exists.
method param_true : string -> bool
This method returns false if the named parameter is missing,
is an empty string, or is the string "0"
. Otherwise it
returns true. Thus the intent of this is to return true in the
Perl sense of the word. If a parameter appears multiple
times, then this uses the first definition and ignores the
others.
method params : (string * string) list
Return an assoc-list mapping name -> value for all parameters.
Note that CGI scripts may have multiple values for a single name.
method is_multipart : bool
Returns true iff the request was a multipart/form-data
POST
request. Such requests are used when you need to
upload files to a CGI script.
method upload : string -> upload_data
For multipart forms only. Returns the full upload data passed
by the browser for a particular parameter.
Raises Not_found
is no such parameter exists.
method upload_all : string -> upload_data list
For multipart forms only. As for #upload
, but returns all
uploads.
method cookie : string -> Cookie.cookie
Return the named cookie, or throw Not_found
.
method cookies : Cookie.cookie list
Return a list of all cookies passed to the script.
method log : string -> unit
log s
Log the message s
into the webserver log.
method request : Request.t
Returns the original request object (passed in the constructor).