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
module App = Core_app
module Cleaner = Core_cleaner
module Command = Core_command
module Configuration = Core_configuration
module Container = Core_container
module Log = Core_log
module Random = Core_random
module Schedule = Core_schedule
module Time = Core_time
module Web = struct
include Web
module Http = Web_http
module Request = struct
include Opium.Request
let bearer_token req =
match Opium.Request.header "authorization" req with
| Some authorization ->
(try Some (Scanf.sscanf authorization "Bearer %s" (fun b -> b)) with
| _ -> None)
| None -> None
;;
end
module Response = Opium.Response
module Cooke = Opium.Cookie
module Body = Opium.Body
module Router = Opium.Router
module Route = Opium.Route
module Csrf = struct
let find = Web_csrf.find
end
module Flash = struct
let find_alert = Web_flash.find_alert
let set_alert = Web_flash.set_alert
let find_notice = Web_flash.find_notice
let set_notice = Web_flash.set_notice
let find = Web_flash.find
let set = Web_flash.set
end
module Htmx = struct
let is_htmx = Web_htmx.is_htmx
let current_url = Web_htmx.current_url
let prompt = Web_htmx.prompt
let target = Web_htmx.target
let trigger_name = Web_htmx.trigger_name
let trigger_req = Web_htmx.trigger_req
let set_push = Web_htmx.set_push
let set_redirect = Web_htmx.set_redirect
let set_refresh = Web_htmx.set_refresh
let set_trigger = Web_htmx.set_trigger
let set_trigger_after_settle = Web_htmx.set_trigger_after_settle
let set_trigger_after_swap = Web_htmx.set_trigger_after_swap
end
module Id = struct
let find = Web_id.find
end
module Session = struct
let find = Web_session.find
let set = Web_session.set
end
module Middleware = struct
let csrf = Web_csrf.middleware
let error = Web_error.middleware
let flash = Web_flash.middleware
let id = Web_id.middleware
let static_file = Web_static.middleware
end
end
module Database = struct
include Database
module Migration = Database_migration
end
module Contract = struct
module Cache = Contract_cache
module Database = Contract_database
module Email = Contract_email
module Email_template = Contract_email_template
module Http = Contract_http
module Migration = Contract_migration
module Password_reset = Contract_password_reset
module Queue = Contract_queue
module Random = Contract_random
module Schedule = Contract_schedule
module Storage = Contract_storage
module Token = Contract_token
module User = Contract_user
end