Module Make.RPC_answer

type 'o t = [
  1. | `Ok of 'o
  2. | `OkChunk of 'o
  3. | `OkStream of 'o stream
  4. | `Created of string option
  5. | `No_content
  6. | `Unauthorized of Error_monad.error list option
  7. | `Forbidden of Error_monad.error list option
  8. | `Not_found of Error_monad.error list option
  9. | `Conflict of Error_monad.error list option
  10. | `Error of Error_monad.error list option
]

Return type for service handler

and 'a stream = {
  1. next : unit -> 'a option Lwt.t;
  2. shutdown : unit -> unit;
}
val return : 'o -> 'o t Lwt.t
val return_chunked : 'o -> 'o t Lwt.t

return_chunked is identical to return but it indicates to the server that the result might be long and that the serialisation should be done in mutliple chunks.

You should use return_chunked when returning an (unbounded or potentially large) list, array, map, or other such set.

val return_stream : 'o stream -> 'o t Lwt.t
val not_found : 'o t Lwt.t
val fail : Error_monad.error list -> 'a t Lwt.t