package hyper

  1. Overview
  2. Docs
Web client with HTTP/1, HTTP/2, TLS, and WebSocket support

Install

dune-project
 Dependency

Authors

Maintainers

Sources

1.0.0-alpha2.tar.gz
sha256=887c4ea30dd09474f68f7e6a1232ad9244f4826943158c8e0a9322cbf47c83a1
md5=214f88044d1589314ba4d2bb248a9633

doc/src/hyper.logic/headers.ml.html

Source file headers.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
(* This file is part of Hyper, released under the MIT license. See LICENSE.md
   for details, or visit https://github.com/aantron/hyper.

   Copyright 2022 Anton Bachin *)



module Message = Dream_pure.Message



let set_host_header inner_handler request =
  let uri = Uri.of_string (Message.target request) in
  let host = Uri.host_with_default ~default:"" uri in
  let host =
    match Uri.port uri with
    | None -> host
    | Some port -> host ^ ":" ^ (string_of_int port)
  in
  Message.set_header request "Host" host;
  inner_handler request

let set_user_agent_header inner_handler request =
  if not (Message.has_header request "User-Agent") then
    Message.set_header request "User-Agent" "hyper";
  inner_handler request