diff --git a/src/Tiny_httpd_server.ml b/src/Tiny_httpd_server.ml index f1879bde..a3e36057 100644 --- a/src/Tiny_httpd_server.ml +++ b/src/Tiny_httpd_server.ml @@ -405,27 +405,27 @@ module Response = struct else make_raw ~headers ~code "" (* invalid to not have a body *) - let make_string ?headers r = + let make_string ?headers ?(code=200) r = match r with - | Ok body -> make_raw ?headers ~code:200 body + | Ok body -> make_raw ?headers ~code body | Error (code, msg) -> make_raw ?headers ~code msg - let make_stream ?headers r = + let make_stream ?headers ?(code=200) r = match r with - | Ok body -> make_raw_stream ?headers ~code:200 body + | Ok body -> make_raw_stream ?headers ~code body | Error (code, msg) -> make_raw ?headers ~code msg - let make_writer ?headers r : t = + let make_writer ?headers ?(code=200) r : t = match r with - | Ok body -> make_raw_writer ?headers ~code:200 body + | Ok body -> make_raw_writer ?headers ~code body | Error (code, msg) -> make_raw ?headers ~code msg - let make ?headers r : t = + let make ?headers ?(code=200) r : t = match r with - | Ok (`String body) -> make_raw ?headers ~code:200 body - | Ok (`Stream body) -> make_raw_stream ?headers ~code:200 body - | Ok `Void -> make_void ?headers ~code:200 () - | Ok (`Writer f) -> make_raw_writer ?headers ~code:200 f + | Ok (`String body) -> make_raw ?headers ~code body + | Ok (`Stream body) -> make_raw_stream ?headers ~code body + | Ok `Void -> make_void ?headers ~code () + | Ok (`Writer f) -> make_raw_writer ?headers ~code f | Error (code, msg) -> make_raw ?headers ~code msg let fail ?headers ~code fmt = diff --git a/src/Tiny_httpd_server.mli b/src/Tiny_httpd_server.mli index ea391cef..d9c8950e 100644 --- a/src/Tiny_httpd_server.mli +++ b/src/Tiny_httpd_server.mli @@ -251,7 +251,11 @@ module Response : sig (** Return a response without a body at all. @since 0.13 *) - val make : ?headers:Headers.t -> (body, Response_code.t * string) result -> t + val make : + ?headers:Headers.t -> + ?code:int -> + (body, Response_code.t * string) result -> + t (** [make r] turns a result into a response. - [make (Ok body)] replies with [200] and the body. @@ -260,17 +264,24 @@ module Response : sig *) val make_string : - ?headers:Headers.t -> (string, Response_code.t * string) result -> t + ?headers:Headers.t -> + ?code:int -> + (string, Response_code.t * string) result -> + t (** Same as {!make} but with a string body. *) val make_writer : ?headers:Headers.t -> + ?code:int -> (Tiny_httpd_io.Writer.t, Response_code.t * string) result -> t (** Same as {!make} but with a writer body. *) val make_stream : - ?headers:Headers.t -> (byte_stream, Response_code.t * string) result -> t + ?headers:Headers.t -> + ?code:int -> + (byte_stream, Response_code.t * string) result -> + t (** Same as {!make} but with a stream body. *) val fail :