package dream-httpaf
Internal: shared http/af stack for Dream (server) and Hyper (client)
Install
Dune Dependency
Authors
Maintainers
Sources
dream-1.0.0-alpha5.tar.gz
sha256=05bc7f6aff94893c151f3a5bcdee3328920c69b3763fac49ba27348dc7745901
md5=de6f6908ae899c9e85f2c751a0263932
doc/src/dream-httpaf.dream-h2/status.ml.html
Source file status.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
(*---------------------------------------------------------------------------- * Copyright (c) 2017 Inhabited Type LLC. * Copyright (c) 2019 Antonio N. Monteiro. * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the author nor the names of his contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *---------------------------------------------------------------------------*) module Httpaf = Dream_httpaf_.Httpaf (* From RFC7540§8.1.1: * HTTP/2 removes support for the 101 (Switching Protocols) informational * status code ([RFC7231], Section 6.2.2). * * Note: While the above is true, we don't enforce in this library, as it * makes unifying types with http/af much easier. `H2.Status.t` is, thus, a * strict superset of `Httpaf.Status.t`. *) include ( Httpaf.Status : module type of Httpaf.Status with type client_error := Httpaf.Status.client_error and type standard := Httpaf.Status.standard and type t := Httpaf.Status.t) type client_error = [ Httpaf.Status.client_error | (* From RFC7540§9.1.2: * The 421 (Misdirected Request) status code indicates that the request * was directed at a server that is not able to produce a response. This * can be sent by a server that is not configured to produce responses * for the combination of scheme and authority that are included in the * request URI. *) `Misdirected_request ] type standard = [ Httpaf.Status.standard | client_error ] type t = [ standard | `Code of int ] (* Note: The value for reason phrases is never actually serialized to the * input or output channels. * * From RFC7540§8.1.2.4: * HTTP/2 does not define a way to carry the version or reason phrase that is * included in an HTTP/1.1 status line. *) let default_reason_phrase = function | `Misdirected_request -> "Misdirected Request" | #Httpaf.Status.standard as t -> Httpaf.Status.default_reason_phrase t let to_code = function | `Misdirected_request -> 421 | #Httpaf.Status.t as t -> Httpaf.Status.to_code t let unsafe_of_code = function | 421 -> `Misdirected_request | c -> (Httpaf.Status.unsafe_of_code c :> t) let of_code = function | 421 -> `Misdirected_request | c -> (Httpaf.Status.of_code c :> t) let is_informational = function | `Misdirected_request -> false | #Httpaf.Status.t as t -> Httpaf.Status.is_informational t let is_successful = function | `Misdirected_request -> false | #Httpaf.Status.t as t -> Httpaf.Status.is_successful t let is_redirection = function | `Misdirected_request -> false | #Httpaf.Status.t as t -> Httpaf.Status.is_redirection t let is_client_error = function | `Misdirected_request -> true | #Httpaf.Status.t as t -> Httpaf.Status.is_client_error t let is_server_error = function | `Misdirected_request -> false | #Httpaf.Status.t as t -> Httpaf.Status.is_server_error t let is_error = function | `Misdirected_request -> true | #Httpaf.Status.t as t -> Httpaf.Status.is_error t let to_string = function | `Misdirected_request -> "421" | #Httpaf.Status.t as t -> Httpaf.Status.to_string t let of_string x = of_code (int_of_string x) let pp_hum fmt t = Format.fprintf fmt "%u" (to_code t)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>