sig
  type scheme = Basic | Digest
  module Cred :
    sig
      type result = Okay of (string * string) | Bogus of string
      val basic : Restful.Auth.scheme -> string -> Restful.Auth.Cred.result
      val digest : '-> '-> 'c
    end
  module Valid :
    sig
      val given :
        user:string -> pass:string -> Restful.Auth.Cred.result -> bool
    end
  val basic :
    validate:(Restful.Auth.Cred.result -> bool) ->
    realm:string ->
    ('-> '-> Netcgi.cgi -> Nethttp.http_status) ->
    '-> '-> Netcgi.cgi -> Nethttp.http_status
end