mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-11 05:28:32 -05:00
106 lines
2.2 KiB
OCaml
106 lines
2.2 KiB
OCaml
module Meth : sig
|
|
type t =
|
|
[ `GET
|
|
| `POST
|
|
| `HEAD
|
|
| `PUT
|
|
| `DELETE
|
|
| `OPTIONS
|
|
| `TRACE
|
|
| `CONNECT
|
|
| `PATCH
|
|
| `Other of string ]
|
|
|
|
val pp : Format.formatter -> t -> unit
|
|
end
|
|
|
|
module Header : sig
|
|
type t = (string * string) list
|
|
|
|
val pp : Format.formatter -> t -> unit
|
|
end
|
|
|
|
module Response : sig
|
|
type t = { code: int; headers: Header.t; body: string }
|
|
|
|
val pp : Format.formatter -> t -> unit
|
|
end
|
|
|
|
module Request : sig
|
|
type t = { meth: Meth.t; url: string; headers: Header.t; body: string }
|
|
|
|
val make :
|
|
?headers:Header.t -> ?body:string -> url:string -> meth:Meth.t -> unit -> t
|
|
|
|
val to_cmd_args : t -> string list
|
|
val pp : Format.formatter -> t -> unit
|
|
end
|
|
|
|
module Process_result : sig
|
|
type t = { status: Unix.process_status; stderr: string; stdout: string }
|
|
|
|
val pp : Format.formatter -> t -> unit
|
|
end
|
|
|
|
module Error : sig
|
|
type t =
|
|
| Invalid_request of string
|
|
| Bad_exit of Process_result.t
|
|
| Failed_to_read_response of exn * Process_result.t
|
|
| Exn of exn
|
|
|
|
val pp : Format.formatter -> t -> unit
|
|
end
|
|
|
|
val run :
|
|
?exe:string ->
|
|
?args:string list ->
|
|
Request.t ->
|
|
(Response.t, Error.t) Result.result
|
|
|
|
val get :
|
|
?exe:string ->
|
|
?args:string list ->
|
|
?headers:Header.t ->
|
|
string ->
|
|
(Response.t, Error.t) Result.result
|
|
(** Specialized version of {!run} for method [`GET]
|
|
@since 0.2.0 *)
|
|
|
|
val head :
|
|
?exe:string ->
|
|
?args:string list ->
|
|
?headers:Header.t ->
|
|
string ->
|
|
(Response.t, Error.t) Result.result
|
|
(** Specialized version of {!run} for method [`HEAD]
|
|
@since 0.2.0 *)
|
|
|
|
val delete :
|
|
?exe:string ->
|
|
?args:string list ->
|
|
?headers:Header.t ->
|
|
string ->
|
|
(Response.t, Error.t) Result.result
|
|
(** Specialized version of {!run} for method [`DELETE]
|
|
@since 0.2.0 *)
|
|
|
|
val post :
|
|
?exe:string ->
|
|
?args:string list ->
|
|
?headers:Header.t ->
|
|
?body:string ->
|
|
string ->
|
|
(Response.t, Error.t) Result.result
|
|
(** Specialized version of {!run} for method [`POST]
|
|
@since 0.2.0 *)
|
|
|
|
val put :
|
|
?exe:string ->
|
|
?args:string list ->
|
|
?headers:Header.t ->
|
|
?body:string ->
|
|
string ->
|
|
(Response.t, Error.t) Result.result
|
|
(** Specialized version of {!run} for method [`PUT]
|
|
@since 0.2.0 *)
|