let send_foo_body code body = send_raw ~data:(foo_body code body)
 
   (* Warning: keep default values in sync with Http_response.response class *)
-let respond ?(body = "") ?(headers = []) ?version ~code outchan =
+let respond ?(body = "") ?(headers = []) ?version ?(code = `Code 200) outchan =
   send_basic_headers ?version ~code outchan;
   send_headers ~headers outchan;
   send_header "Content-Length" (string_of_int (String.length body)) outchan;
 
   status is 200, default response HTTP version is Http_common.http_version *)
 val respond:
   ?body:string -> ?headers:(string * string) list ->
-  ?version:Http_types.version -> code:Http_types.status_code ->
+  ?version:Http_types.version -> ?code:Http_types.status_code ->
   out_channel ->
     unit