Module XmlHttpRequest

module XmlHttpRequest : sig..end

XmlHttpRequest object.


type readyState =  | UNSENT | OPENED | HEADERS_RECEIVED | LOADING | DONE
class type xmlHttpRequest = object..end
val create : unit -> xmlHttpRequest Js.t

The next part of this module allow one to use Ocaml with no need for Javascript documentation.

module Event : sig..end
type http_frame = {
  url: string;  code: int;  headers: string -> string option;  content: string;  content_xml: unit -> Dom.element Dom.document Js.t option;}

The type for XHR results. The code field is the http status code of the answer. The headers field is a function associating values to any header name.

exception Wrong_headers of (int * (string -> string option))

The exception raise by perform functions when the check_headers parameter returned false. The parameter of the exception is a function is like the headers function of http_frame

val perform_raw_url : 
  ?headers:(string * string) list ->
  ?content_type:string ->
  ?post_args:(string * string) list ->
  ?get_args:(string * string) list ->
  ?form_arg:Form.form_contents ->
  ?check_headers:(int -> (string -> string option) -> bool) ->
  string -> http_frame Lwt.t

perform_raw_url ?headers ?content_type ?post_args ?get_args ?form_arg url makes an asynchronous request to the specified url with specified options. The result is a cancelable thread returning an HTTP frame. If post_args and form_arg are None, a GET request is used. If post_args or form_arg is Some _ (even Some []) then a POST request is made. The check_headers argument is run as soon as the answer code and headers are available. If it returns false, the request is canceled and the functions raise the Wrong_headers exception

val perform : 
  ?headers:(string * string) list ->
  ?content_type:string ->
  ?post_args:(string * string) list ->
  ?get_args:(string * string) list ->
  ?form_arg:Form.form_contents ->
  ?check_headers:(int -> (string -> string option) -> bool) ->
  Url.url -> http_frame Lwt.t

perform is the same as XmlHttpRequest.​perform_raw_url except that the Url argument has type Url.​url.

val get : string -> http_frame Lwt.t

get url makes an asynchronous request to the specified url