Thomas Boerger
004a7f84ef
Make test case less dependent on exact error string ( #741 )
2016-04-11 13:08:30 -06:00
Matt Holt
0a7ca64f53
gzipResponseWriter should also be a Flusher
...
To be consistent with 3faad41b43
and c64cf218b0
2016-04-11 00:24:26 -06:00
Tw
c64cf218b0
http.CloseNotifier implementation for http.ResponseWriter wrapper
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-04-11 14:10:33 +08:00
Matt Holt
6a7b777f14
panic if not a Flusher
...
Caddy recovers panics that occur in the middleware stack so this is not a risk to process termination. This way is also preferable to hiding the error. See 3faad41b43 (commitcomment-17035158)
2016-04-09 22:11:36 -06:00
Matthew Holt
3faad41b43
middleware: ResponseRecorder now is an http.Flusher ( fixes #677 )
...
Flush every 250ms. This should keep latency somewhat low but there is
still buffering; maybe in the future we can make this configurable.
2016-04-09 00:17:15 -06:00
Matt Holt
a14fce0b1e
Merge pull request #707 from jupiter/caching-headers
...
Add Etag header
2016-04-03 15:01:33 -06:00
Pieter Raubenheimer
93d982a5a4
Improve readability and fully comply with RFC7232
2016-04-03 20:14:10 +01:00
Ruben Callewaert
1a9f700287
Allow mixed case Upgrade headers
...
Caddy expects websocket to be completely lowercase.
Some applications send websocket upgrade headers like the following:
`Upgrade: WebSocket`
This change allows all variations of websocket.
2016-04-03 17:48:53 +02:00
Pieter Raubenheimer
3441cdef64
Add Etag header
2016-04-02 08:51:08 +01:00
Craig Peterson
f28d8b8601
Adding some useful utility functions for templates
2016-03-28 20:53:51 -06:00
eiszfuchs
cbd9b814b9
fixed req.URL.Path for unix: sockets
2016-03-28 22:18:14 +02:00
buddhamagnet
61cf8b79bc
drop unused md variable
2016-03-26 21:14:54 +00:00
buddhamagnet
bb6764fd22
drop unused len variable
2016-03-26 21:14:22 +00:00
buddhamagnet
c981b08b23
correct unused assignments
2016-03-26 21:05:19 +00:00
Marcelo E. Magallon
b94e513116
Add expvar middleware
...
Right now it has a very simple configuration:
expvar /debug/vars
It will return a JSON object with memory statistics and the command line
used to start caddy, which are the two expvars that expvar registers by
default.
2016-03-21 21:46:41 -06:00
Matthew Holt
f23d8cb37f
Add {upstream} placeholder when proxy middleware is used ( closes #531 )
...
Middlewares can now make their own placeholders that may be useful in
logging, on a per-request basis. Proxy is the first one to do this.
2016-03-20 21:56:13 -06:00
Abiola Ibrahim
e7001e6538
Add except
to FastCGI. Minor refactor in proxy.
2016-03-20 08:02:17 +01:00
Matthew Holt
4d9741dda6
pprof: Only handle if path matches /debug/pprof, add tests
2016-03-19 20:02:05 -06:00
Abiola Ibrahim
9f9fbf2e1b
Support for case insensitive paths using CASE_SENSITIVE_PATH environment variable.
2016-03-19 08:45:23 +01:00
Craig Peterson
640a0ef956
Adding pprof middleware for debugging purposes
2016-03-18 10:39:29 -06:00
Abiola Ibrahim
6b801b111b
Merge pull request #684 from abiosoft/master
...
Fix for #659 .
2016-03-18 07:08:24 +01:00
Matthew Holt
37d050922b
Fix typo, clarify readme
2016-03-17 16:42:28 -06:00
Abiola Ibrahim
04514fb791
Fix for #659 .
2016-03-17 22:29:58 +01:00
Matt Holt
4f5fe2de24
Merge pull request #662 from mholt/md-include-fix
...
markdown: Included files in Markdown templates have access to document vars
2016-03-16 13:56:06 -06:00
Matthew Holt
90c24d2f32
Included files in Markdown templates have access to document vars ( fixes #660 )
...
Refactor how middleware.Context includes files
2016-03-16 13:42:16 -06:00
Tobias Weingartner
b471b7e835
Fixup mime middleware to use a map and error on duplicate extensions.
...
- The mime middleware used filepath where it should arguably use path.
- Changed the configuration to use a map instead of scanning an array
during every request. The map is static (after configuration), so
should be fine for concurrent access.
- Catch duplicate extensions within a configuration and error out.
- Add tests for new error case.
2016-03-15 23:11:19 -07:00
Matt Holt
b79ff7403f
Merge pull request #664 from jupiter/max-connections
...
proxy: Add max_conns parameter for per-host maximum connections
2016-03-14 15:25:44 -06:00
Matthew Holt
35e4c1a7bf
Sanity checkL this defer does not leak fds; comment added
2016-03-12 16:32:12 -07:00
Abiola Ibrahim
25bfdfe92c
Merge pull request #672 from abiosoft/master
...
Hide only the currently used Caddyfile
2016-03-12 20:46:20 +01:00
Abiola Ibrahim
008ad398ce
Hopefully, this is the final nail on the coffin.
2016-03-12 17:47:53 +01:00
Abiola Ibrahim
e92a911e7d
Add more tests.
2016-03-11 23:44:50 +01:00
Abiola Ibrahim
84845a66ab
Fix broken build.
2016-03-11 23:11:21 +01:00
Abiola Ibrahim
f3a183ecc1
Use filepath.Clean for fileserver.
2016-03-11 15:39:13 +01:00
Shawn Smith
e958686ae4
capitalize struct name in comment
2016-03-11 23:16:28 +09:00
Pieter Raubenheimer
1f7d8d8ab0
Add test for UpstreamHost defaults
2016-03-10 14:45:23 +00:00
Pieter Raubenheimer
a7766c9033
Add common method for checking host availability
2016-03-10 14:42:19 +00:00
Pieter Raubenheimer
ce8ee831b3
Add check for per-host maximum connections
2016-03-08 16:25:05 +00:00
Matthew Holt
741d7685f1
Merge branch 'master' into fastcgi-methods
...
# Conflicts:
# middleware/fastcgi/fastcgi.go
2016-03-07 16:25:23 -07:00
Matthew Holt
2a46f2a14e
Revert recent Content-Length-related changes and fix fastcgi return
...
fastcgi's ServeHTTP method originally returned the correct value (0) in
b51e8bc191
. Later, I mistakenly suggested
we change that to return the status code because I forgot that status
codes aren't logged by the return value. So fastcgi broke due in
3966936bd6
due to my error.
We later had to try to make up for this with ugly Content-Length checks
like in c37ad7f677
. Turns out that all we
had to do was fix the returned status here back to 0. The proxy
middleware behaves the same way, and returning 0 is correct. We should
only return a status code if the response has not been written, but with
upstream servers, we do write a response; they do not know about our
error handler.
Also clarifed this in the middleware.Handler documentation.
2016-03-02 11:33:40 -07:00
Matthew Holt
2ecc837020
templates: .Truncate can truncate from end of string if length is negative
2016-02-24 20:32:26 -07:00
Matthew Holt
c37ad7f677
Only write error message/page if body not already written ( fixes #567 )
...
Based on work started in, and replaces, #614
2016-02-24 19:50:46 -07:00
Matthew Holt
737c7c4372
fastcgi: Only perform extra copy if necessary; added tests
2016-02-24 16:42:01 -07:00
Matt Holt
367397dbd6
Merge pull request #623 from xlab/f/docflags
...
markdown: Implement .DocFlags and tests
2016-02-24 14:45:22 -07:00
Benoit Benedetti
ef5f9c771d
FastCGI: Explicitly set Content-Length #626
2016-02-24 22:11:07 +01:00
Matthew Holt
05957b4965
gzip: Implement http.Hijacker ( fixes #635 )
2016-02-24 12:23:50 -07:00
Maxim Kupriianov
c7674e2060
Implement .DocFlags directive and tests. It holds all the boolean-typed front matter values.
2016-02-22 13:53:47 +03:00
Benoit Benedetti
bec130a563
Recorder: Exporting ResponseRecorder #614
2016-02-20 23:10:04 +01:00
Jason Chu
5f2670fdde
Fix missing Content-Type for certain errors
...
And corrected an error in a copy and pasted comment
2016-02-20 00:42:17 +08:00
Matthew Holt
cae9f7de9c
gofmt -s; fix misspellings and lint; Go 1.5.3 in Travis CI
2016-02-14 00:10:57 -07:00
eiszfuchs
7091a2090b
created http.Transport and tests for unix sockets
2016-02-10 19:45:31 +01:00