package tiny_httpd

  1. Overview
  2. Docs
Minimal HTTP server using threads

Install

Dune Dependency

Authors

Maintainers

Sources

tiny_httpd-0.18.tbz
sha256=ef806444b2f9e53d10976b9124902560d0855124433537080e6d0bec48d202e5
sha512=539530eb9e511b6ed4d69bb083f421d5f51b183c347c116a52f24210f30b1c9b14a029e2b82d6e0d698c74ab75ba5c307a1976711558a1419df287335b2a8f51

doc/src/tiny_httpd.multipart-form-data/utils_.ml.html

Source file utils_.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
let spf = Printf.sprintf

let string_eq ~a ~a_start ~b ~len : bool =
  assert (len <= String.length b);
  if String.length a >= a_start + len then (
    try
      for i = 0 to len - 1 do
        let a_i = a_start + i in
        if String.unsafe_get a a_i <> String.unsafe_get b i then
          raise_notrace Exit
      done;
      true
    with Exit -> false
  ) else
    false

let split1_on ~c s =
  match String.index s c with
  | exception Not_found -> None
  | i -> Some (String.sub s 0 i, String.sub s (i + 1) (String.length s - i - 1))

let remove_quotes s : string =
  if String.length s < 2 then
    s
  else if s.[0] = '"' && s.[String.length s - 1] = '"' then
    String.sub s 1 (String.length s - 2)
  else
    s
OCaml

Innovation. Community. Security.