Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 314 lines (262 sloc) 12.119 kB
21abc5b @klacke Initial revision
authored
1 %%%----------------------------------------------------------------------
2 %%% File : yaws.hrl
3 %%% Author : Claes Wikstrom <klacke@hyber.org>
4 %%% Purpose :
5 %%% Created : 16 Jan 2002 by Claes Wikstrom <klacke@hyber.org>
6 %%%----------------------------------------------------------------------
7
8 -author('klacke@hyber.org').
3c06a9e @klacke rearr of includefiles
authored
9
21abc5b @klacke Initial revision
authored
10
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
11
12 %% flags for gconfs
14176e6 @klacke added feature to not pick first sconf when virthosting
authored
13 -define(GC_TTY_TRACE, 1).
14 -define(GC_DEBUG, 2).
15 -define(GC_AUTH_LOG, 4).
16 -define(GC_COPY_ERRLOG, 8).
17 -define(GC_BACKWARDS_COMPAT_PARSE, 16).
18 -define(GC_LOG_RESOLVE_HOSTNAME, 32).
19 -define(GC_FAIL_ON_BIND_ERR, 64).
20 -define(GC_PICK_FIRST_VIRTHOST_ON_NOMATCH, 128).
576139e @klacke added support for fdsrv
authored
21 -define(GC_USE_FDSRV, 256).
6e49e77 @klacke git-svn-id: https://erlyaws.svn.sourceforge.net/svnroot/erlyaws/trunk…
authored
22 -define(GC_USE_OLD_SSL, 512).
23
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
24
92d0daf @klacke ""
authored
25 -define(GC_DEF, (?GC_AUTH_LOG bor ?GC_FAIL_ON_BIND_ERR)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
26
27 -define(gc_has_tty_trace(GC),
d0caaf6 @klacke tabs cleanup
authored
28 ((GC#gconf.flags band ?GC_TTY_TRACE) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
29 -define(gc_has_debug(GC),
d0caaf6 @klacke tabs cleanup
authored
30 ((GC#gconf.flags band ?GC_DEBUG) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
31 -define(gc_has_auth_log(GC),
d0caaf6 @klacke tabs cleanup
authored
32 ((GC#gconf.flags band ?GC_AUTH_LOG) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
33 -define(gc_has_copy_errlog(GC),
d0caaf6 @klacke tabs cleanup
authored
34 ((GC#gconf.flags band ?GC_COPY_ERRLOG) /= 0)).
2ca4bda @klacke added client IP resolv for access log files
authored
35 -define(gc_log_has_resolve_hostname(GC),
d0caaf6 @klacke tabs cleanup
authored
36 ((GC#gconf.flags band ?GC_LOG_RESOLVE_HOSTNAME) /= 0)).
92d0daf @klacke ""
authored
37 -define(gc_fail_on_bind_err(GC),
d0caaf6 @klacke tabs cleanup
authored
38 ((GC#gconf.flags band ?GC_FAIL_ON_BIND_ERR) /= 0)).
14176e6 @klacke added feature to not pick first sconf when virthosting
authored
39 -define(gc_pick_first_virthost_on_nomatch(GC),
d0caaf6 @klacke tabs cleanup
authored
40 ((GC#gconf.flags band ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH) /= 0)).
576139e @klacke added support for fdsrv
authored
41 -define(gc_use_fdsrv(GC),
d0caaf6 @klacke tabs cleanup
authored
42 ((GC#gconf.flags band ?GC_USE_FDSRV) /= 0)).
6e49e77 @klacke git-svn-id: https://erlyaws.svn.sourceforge.net/svnroot/erlyaws/trunk…
authored
43 -define(gc_use_old_ssl(GC),
44 ((GC#gconf.flags band ?GC_USE_OLD_SSL) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
45
46 -define(gc_set_tty_trace(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
47 GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_TTY_TRACE, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
48 -define(gc_set_debug(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
49 GC#gconf{flags = yaws:flag(GC#gconf.flags, ?GC_DEBUG, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
50 -define(gc_set_auth_log(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
51 GC#gconf{flags = yaws:flag(GC#gconf.flags, ?GC_AUTH_LOG, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
52 -define(gc_set_copy_errlog(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
53 GC#gconf{flags = yaws:flag(GC#gconf.flags, ?GC_COPY_ERRLOG, Bool)}).
2ca4bda @klacke added client IP resolv for access log files
authored
54 -define(gc_log_set_resolve_hostname(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
55 GC#gconf{flags = yaws:flag(GC#gconf.flags,
56 ?GC_LOG_RESOLVE_HOSTNAME, Bool)}).
92d0daf @klacke ""
authored
57 -define(gc_set_fail_on_bind_err(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
58 GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_FAIL_ON_BIND_ERR,Bool)}).
14176e6 @klacke added feature to not pick first sconf when virthosting
authored
59 -define(gc_set_pick_first_virthost_on_nomatch(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
60 GC#gconf{flags = yaws:flag(GC#gconf.flags,
61 ?GC_PICK_FIRST_VIRTHOST_ON_NOMATCH,Bool)}).
576139e @klacke added support for fdsrv
authored
62 -define(gc_set_use_fdsrv(GC, Bool),
d0caaf6 @klacke tabs cleanup
authored
63 GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_USE_FDSRV,Bool)}).
6e49e77 @klacke git-svn-id: https://erlyaws.svn.sourceforge.net/svnroot/erlyaws/trunk…
authored
64 -define(gc_set_use_old_ssl(GC, Bool),
65 GC#gconf{flags = yaws:flag(GC#gconf.flags,?GC_USE_OLD_SSL,Bool)}).
66
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
67
c9bd56d @klacke added config flag 'use_large_ssl_pool = bool()'
authored
68
21abc5b @klacke Initial revision
authored
69 %% global conf
5ddf4f4 @klacke Bug fixed with bindings that got propagated over redirects. Good ol g…
authored
70 -record(gconf,{yaws_dir, %% topdir of Yaws installation
d0caaf6 @klacke tabs cleanup
authored
71 trace, %% false | {true,http}|{true,traffic}
72 flags = ?GC_DEF, %% boolean flags
73 logdir,
74 ebin_dir = [],
75 runmods = [], %% runmods for entire server
76 keepalive_timeout = 15000,
77 max_num_cached_files = 400,
78 max_num_cached_bytes = 1000000, %% 1 MEG
79 max_size_cached_file = 8000,
53608c3 @klacke max number of connections patch by Kinoshita
authored
80 max_connections = nolimit, %% max number of TCP connections
d0caaf6 @klacke tabs cleanup
authored
81 large_file_chunk_size = 10240,
2fa66b0 @klacke cgi support
authored
82 mnesia_dir = [],
d0caaf6 @klacke tabs cleanup
authored
83 log_wrap_size = 10000000, % wrap logs after 10M
84 cache_refresh_secs = 30, % seconds (auto zero when debug)
85 include_dir = [], %% list of inc dirs for .yaws files
86 phpexe = "/usr/bin/php-cgi", %% cgi capable php executable
87 yaws, %% server string
88 id = "default", %% string identifying this instance of yaws
d8df08c @ericliang add the soap_srv_mods support, which can setup soap serve modules whi…
ericliang authored
89 enable_soap = false, %% start yaws_soap_srv iff true
90 soap_srv_mods = [] %% a list of
91 %% {{Mod, Func}, WsdlFile, Prefix } | {{Mod, Func}, WsdlFile}
92 %% which will be automatically setuped
93 %% while yaws_soap_srv init.
d0caaf6 @klacke tabs cleanup
authored
94 }).
3dc56a7 @klacke javascript support in ehtml
authored
95
21abc5b @klacke Initial revision
authored
96
97
661bd8c @klacke ""
authored
98 -record(ssl,
d0caaf6 @klacke tabs cleanup
authored
99 {
100 keyfile,
101 certfile,
102 verify = 0,
103 depth = 1,
104 password,
105 cacertfile,
106 ciphers,
107 cachetimeout}).
661bd8c @klacke ""
authored
108
109
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
110 %% flags for sconfs
2fa66b0 @klacke cgi support
authored
111 -define(SC_ACCESS_LOG, 1).
112 -define(SC_ADD_PORT, 2).
8c969fe @oliv3 Support for the statistics option per virtual host
oliv3 authored
113 -define(SC_STATISTICS, 4).
2fa66b0 @klacke cgi support
authored
114 -define(SC_TILDE_EXPAND, 8).
115 -define(SC_DIR_LISTINGS, 16).
116 -define(SC_DEFLATE, 32).
117 -define(SC_DIR_ALL_ZIP, 64).
118 -define(SC_DAV, 128).
119 -define(SC_FCGI_TRACE_PROTOCOL, 512).
120 -define(SC_FCGI_LOG_APP_ERROR, 1024).
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
121 -define(SC_FORWARD_PROXY, 2048).
122
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
123
124 -define(SC_DEF, ?SC_ACCESS_LOG bor ?SC_ADD_PORT).
125
126 -define(sc_has_access_log(SC),
d0caaf6 @klacke tabs cleanup
authored
127 (((SC)#sconf.flags band ?SC_ACCESS_LOG) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
128 -define(sc_has_add_port(SC),
d0caaf6 @klacke tabs cleanup
authored
129 (((SC)#sconf.flags band ?SC_ADD_PORT) /= 0)).
8c969fe @oliv3 Support for the statistics option per virtual host
oliv3 authored
130 -define(sc_has_statistics(SC),
131 (((SC)#sconf.flags band ?SC_STATISTICS) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
132 -define(sc_has_tilde_expand(SC),
d0caaf6 @klacke tabs cleanup
authored
133 (((SC)#sconf.flags band ?SC_TILDE_EXPAND) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
134 -define(sc_has_dir_listings(SC),
d0caaf6 @klacke tabs cleanup
authored
135 (((SC)#sconf.flags band ?SC_DIR_LISTINGS) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
136 -define(sc_has_deflate(SC),
d0caaf6 @klacke tabs cleanup
authored
137 (((SC)#sconf.flags band ?SC_DEFLATE) /= 0)).
2e8e005 @mbj4668 Added auto-generate all.zip to dir listings. It needs the zip comman…
mbj4668 authored
138 -define(sc_has_dir_all_zip(SC),
d0caaf6 @klacke tabs cleanup
authored
139 (((SC)#sconf.flags band ?SC_DIR_ALL_ZIP) /= 0)).
868ce8a @mbj4668 reworked the DAV support a bit - don't use an appmod, instead yaws ha…
mbj4668 authored
140 -define(sc_has_dav(SC),
d0caaf6 @klacke tabs cleanup
authored
141 (((SC)#sconf.flags band ?SC_DAV) /= 0)).
2fa66b0 @klacke cgi support
authored
142 -define(sc_fcgi_trace_protocol(SC),
143 (((SC)#sconf.flags band ?SC_FCGI_TRACE_PROTOCOL) /= 0)).
144 -define(sc_fcgi_log_app_error(SC),
145 (((SC)#sconf.flags band ?SC_FCGI_LOG_APP_ERROR) /= 0)).
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
146 -define(sc_forward_proxy(SC),
147 (((SC)#sconf.flags band ?SC_FORWARD_PROXY) /= 0)).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
148
3dc56a7 @klacke javascript support in ehtml
authored
149
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
150 -define(sc_set_access_log(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
151 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_ACCESS_LOG, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
152 -define(sc_set_add_port(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
153 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_ADD_PORT, Bool)}).
8c969fe @oliv3 Support for the statistics option per virtual host
oliv3 authored
154 -define(sc_set_statistics(SC, Bool),
155 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_STATISTICS, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
156 -define(sc_set_ssl(SC, Bool),
8c969fe @oliv3 Support for the statistics option per virtual host
oliv3 authored
157 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_SSL, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
158 -define(sc_set_tilde_expand(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
159 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_TILDE_EXPAND, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
160 -define(sc_set_dir_listings(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
161 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_DIR_LISTINGS, Bool)}).
7fd4ad4 @klacke backwards incomp cahnge with flags in gc and sc instead of many bools…
authored
162 -define(sc_set_deflate(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
163 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_DEFLATE, Bool)}).
2e8e005 @mbj4668 Added auto-generate all.zip to dir listings. It needs the zip comman…
mbj4668 authored
164 -define(sc_set_dir_all_zip(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
165 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_DIR_ALL_ZIP, Bool)}).
868ce8a @mbj4668 reworked the DAV support a bit - don't use an appmod, instead yaws ha…
mbj4668 authored
166 -define(sc_set_dav(SC, Bool),
d0caaf6 @klacke tabs cleanup
authored
167 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_DAV, Bool)}).
2fa66b0 @klacke cgi support
authored
168 -define(sc_set_fcgi_trace_protocol(SC, Bool),
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
169 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_FCGI_TRACE_PROTOCOL,
170 Bool)}).
2fa66b0 @klacke cgi support
authored
171 -define(sc_set_fcgi_log_app_error(SC, Bool),
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
172 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_FCGI_LOG_APP_ERROR,
173 Bool)}).
174 -define(sc_set_forward_proxy(SC, Bool),
175 SC#sconf{flags = yaws:flag(SC#sconf.flags, ?SC_FORWARD_PROXY, Bool)}).
3dc56a7 @klacke javascript support in ehtml
authored
176
177
178
21abc5b @klacke Initial revision
authored
179 %% server conf
180 -record(sconf,
d0caaf6 @klacke tabs cleanup
authored
181 {port = 8000, %% which port is this server listening to
182 flags = ?SC_DEF,
814bae1 @klacke cleaned up the redirect feature. It was poorly implemented and poorly…
authored
183 redirect_map=[], %% a list of
184 %% {Prefix, #url{}, append|noappend}
185 %% #url{} can be partially populated
186
d0caaf6 @klacke tabs cleanup
authored
187 rhost, %% forced redirect host (+ optional port)
188 rmethod, %% forced redirect method
189 docroot, %% path to the docs
190 xtra_docroots = [], %% if we have additional pseudo docroots
191 listen = {127,0,0,1}, %% bind to this IP, {0,0,0,0} is possible
192 servername = "localhost", %% servername is what Host: header is
193 ets, %% local store for this server
194 ssl, %% undefined | #ssl{}
195 authdirs = [],
196 partial_post_size = nolimit,
b7656de @klacke Added support for excluding dirs from an appmod. This is useful for /…
authored
197 appmods = [],
198 %% An item in the appmods list can be either of the
199 %% following, this is all due to backwards compat issues.
200 %% 1. an atom - this is the equivalent to {atom, atom}
201 %% 2 . A two tuple {Path, Mod}
202 %% 3 A three tuple {Path, Mod, [ExcludeDir ....]}
203
c1cea99 @faal Changed the way authentication is done, added support for multiple au…
faal authored
204 errormod_401 = yaws_outmod, %% the default 401 error module
2fa66b0 @klacke cgi support
authored
205 errormod_404 = yaws_outmod, %% the default 404 error module
c1cea99 @faal Changed the way authentication is done, added support for multiple au…
faal authored
206 errormod_crash = yaws_outmod, %% use the same module for crashes
d0caaf6 @klacke tabs cleanup
authored
207 arg_rewrite_mod = yaws,
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
208 opaque = [], %% useful in embedded mode
209 start_mod, %% user provided module to be started
2fa66b0 @klacke cgi support
authored
210 allowed_scripts = [yaws,php,cgi,fcgi],
fe70f74 @klacke embedded startup problem solved by Anders Nygren
authored
211 tilde_allowed_scripts = [],
9b8f828 @vinoski incorporate Lev Walkin's patch for a configurable TCP listen backlog,
vinoski authored
212 revproxy = [],
1b0f3d7 @klacke Cleanup + minor preparation for extension handler mod
authored
213 soptions = [],
7d9f3ab @klacke add extra cgi vars patch from joe_e_e
authored
214 extra_cgi_vars = [],
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
215 stats, %% raw traffic statistics
216 fcgi_app_server_host, %% FastCGI application server host
217 %% name or IP address
2fa66b0 @klacke cgi support
authored
218
82a449b @klacke Forward prox functionality added through a patch by Colm Dougan
authored
219 fcgi_app_server_port %% FastCGI application server port number
2fa66b0 @klacke cgi support
authored
220
d0caaf6 @klacke tabs cleanup
authored
221 }).
21abc5b @klacke Initial revision
authored
222
9199a36 @klacke added support for config changes without stopping the running systems…
authored
223 %% we cannot compare sconfs directly due to the ets
224 %% field in #sconf{} use yaws_config:eq_sconfs/2
225
0d6e5ea @klacke fixed tilde username expansion it didn't work, also made thta a confi…
authored
226
0dd21d2 Added Basic Authentication support with a new subsection to the serve…
Seah Hinde authored
227 % Auth conf - from server conf and .yaws_auth
228 -record(auth,
55c9af7 Changed implementation of multipart form data. There is a new config
Seah Hinde authored
229 {dir = [],
230 realm = "",
231 type = "Basic",
2fa66b0 @klacke cgi support
authored
232 headers = [], %% headers to send on 401
c1cea99 @faal Changed the way authentication is done, added support for multiple au…
faal authored
233 users = [], %% list of {User, Password} tuples
d0caaf6 @klacke tabs cleanup
authored
234 mod = [], %% authentication module callback
235 pam = false %% should we use pam to auth a user
55c9af7 Changed implementation of multipart form data. There is a new config
Seah Hinde authored
236 }).
21abc5b @klacke Initial revision
authored
237
3dc56a7 @klacke javascript support in ehtml
authored
238
00303e2 @klacke outh record, the outgoing headers are built up into a record now, muc…
authored
239
240 %% this internal record is used and returned by the URL path parser
241
4ad4101 @jonhen Virtual Directory support. ARG record and CGI variable changes
jonhen authored
242
00303e2 @klacke outh record, the outgoing headers are built up into a record now, muc…
authored
243 -record(urltype, {type, %% error | yaws | regular | directory |
4ad4101 @jonhen Virtual Directory support. ARG record and CGI variable changes
jonhen authored
244 %% forbidden | appmod
d0caaf6 @klacke tabs cleanup
authored
245 finfo,
246 path = [],
247 fullpath = [], %% deep list (WHY?)
248 dir = [], %% relative dir where the path leads to
249 %% flat | unflat need flat for authentication
250 data, %% type-specific e.g: Binary | FileDescriptor
251 %% | DirListing | undefined
252 deflate, %% undefined | Binary | dynamic
253 mime = "text/html", %% MIME type
254 getpath, %% as GET'ed by client
255 pathinfo
256 }).
00303e2 @klacke outh record, the outgoing headers are built up into a record now, muc…
authored
257
258
259
260
261 %% this record is constructed as we build up
262 %% the outgoing headers
263
264 -record(outh, {
d0caaf6 @klacke tabs cleanup
authored
265 status, %% int status code
00303e2 @klacke outh record, the outgoing headers are built up into a record now, muc…
authored
266
d0caaf6 @klacke tabs cleanup
authored
267 doclose, %% bool
268 chunked, %% bool
269 encoding=identity,
270 %% identity, deflate
271 contlen, %% integer
272 act_contlen, %% actual content length for dynamic pages
00303e2 @klacke outh record, the outgoing headers are built up into a record now, muc…
authored
273
274
275 %% and the total set of out headers we can have
276 %% as actual strings
d0caaf6 @klacke tabs cleanup
authored
277 connection,
278 server,
279 location,
280 cache_control,
281 date,
282 allow,
283 last_modified,
284 etag,
285 set_cookie,
286 content_range,
287 content_length,
288 content_type,
289 content_encoding,
290 transfer_encoding,
291 www_authenticate,
292 other %% misc other headers
06a1bef @klacke ""
authored
293 }).
00303e2 @klacke outh record, the outgoing headers are built up into a record now, muc…
authored
294
295
d0caaf6 @klacke tabs cleanup
authored
296
ef3a52a @klacke Removed the atoms in parse_post and parse query, backwards incompatib…
authored
297 -define(READ_TIMEOUT, 30000).
298
b67bbd8 @klacke Rewrote url splitting (again), and made the redir to index.{html,yaws…
authored
299
300
31fdaae @klacke pam cleanup, add env record, yaws_ls enhancements by doccarcass@gmail…
authored
301 %% as read by application:get_env()
302 -record(env, {debug,
d0caaf6 @klacke tabs cleanup
authored
303 trace,
304 traceoutput,
305 conf,
306 runmod,
307 embedded,
308 id
309 }).
31fdaae @klacke pam cleanup, add env record, yaws_ls enhancements by doccarcass@gmail…
authored
310
9ab391e @klacke warn when crypto app is not there
authored
311 %% Typically used in error printouts as in:
312 %% error_logger:format("Err ~p at ~p~n", [Reason, ?stack()])
313 -define(stack(), try throw(1) catch _:_ -> erlang:get_stacktrace() end).
Something went wrong with that request. Please try again.