Matthew Holt
d49f762f6d
Various bug fixes and minor improvements
...
- Fix static responder so it doesn't replace its own headers config,
and instead replaces the actual response header values
- caddyhttp.ResponseRecorder type optionally buffers response
- Add interface guards to ensure regexp matchers get provisioned
- Use default HTTP port if one is not explicitly set
- Encode middleware writes status code 200 if not written upstream
- Templates and markdown only try to execute on text responses
- Static file server sets Content-Type based on file extension only
(this whole thing -- MIME sniffing, etc -- needs more configurability)
2019-06-21 14:36:26 -06:00
Matthew Holt
81a9e125b5
Oops
2019-06-21 08:52:15 -06:00
Matthew Holt
70c788ce0c
Minor cleanups/improvements
2019-06-21 08:08:26 -06:00
Matthew Holt
1c443beb9c
caddyhttp: ResponseRecorder type for middlewares to buffer responses
...
Unfortunately, templates and markdown require buffering the full
response before it can be processed and written to the client
2019-06-20 21:49:45 -06:00
Matthew Holt
269b1e9aa3
tls: Improve (and fix) on-demand configuration
2019-06-20 20:36:29 -06:00
Matthew Holt
6d0350d04e
caddyhttp: Fix host matching when host has a port
2019-06-20 20:24:46 -06:00
Matthew Holt
15647bdfb7
templates: Remove context functions implemented by sprig
2019-06-18 15:43:51 -06:00
Matthew Holt
2663dd176d
Refactor templates execution; add sprig functions
2019-06-18 15:17:48 -06:00
Matthew Holt
6706c9225a
Implement templates handler; various minor cleanups and bug fixes
2019-06-18 11:13:12 -06:00
Matthew Holt
5137859e47
Rename caddy2 -> caddy
...
Removes the version from the package name
2019-06-14 11:58:28 -06:00
Matthew Holt
b8e7453fef
Implement brotli encoder; improve validation of other encoders
2019-06-13 11:20:43 -06:00
Matthew Holt
f93dab755b
Update go modules
2019-06-13 10:55:25 -06:00
Matthew Holt
0c8763a728
Add simple tests for static responder
2019-06-11 17:46:11 -06:00
Matt Holt
f5b4f268dc
Implement encode middleware ( #2 )
...
* Implement encode middleware
* Add missing break; and add missing JSON struct field tag
2019-06-10 10:21:25 -06:00
Matthew Holt
ef5f29cfb2
Do not allow Go standard lib to sniff Content-Type header
2019-06-07 19:59:25 -06:00
Matt Holt
8947ae0cc1
Merge pull request #1 from caddyserver/fix/goroutine-leak-healthchecker
...
fix goroutine leak in healthcheckers
2019-06-07 17:24:10 -06:00
dev
878ae0002a
fix goroutine leak in healthcheckers
2019-06-07 15:52:10 -04:00
dev
37da91cfe7
fix module import paths and add cors to admin endpoints
...
fix go module refs and add cors to admin endpoints
2019-06-07 11:40:25 -04:00
Matthew Holt
b79f86f256
Fix bugs related to auto HTTPS and alternate port configurations
2019-06-04 22:43:21 -06:00
Matthew Holt
613aecb898
Change import paths to GitHub package names
2019-06-04 13:52:37 -06:00
Matthew Holt
39db06d9c4
Implement IP/CIDR matcher and Not (negated) matcher
2019-06-04 13:42:54 -06:00
Matthew Holt
f064889a4f
Customize admin endpoint address with -listen flag
...
This is a temporary holdover for development purposes
2019-06-03 15:35:14 -06:00
Matthew Holt
3439933235
Implement session ticket keys; default STEK module with rotation
2019-05-29 23:11:46 -06:00
Matthew Holt
1b6b422c63
Add cleanup callbacks to context
2019-05-29 23:10:12 -06:00
Matthew Holt
2265db9028
Fix bug unmarshaling custom duration values
2019-05-29 23:09:51 -06:00
Matthew Holt
bf54615efc
ResponseMatcher for conditional logic of response headers
2019-05-28 18:53:08 -06:00
Matthew Holt
da6a8cfc86
Minor cleanups
2019-05-28 18:52:21 -06:00
Matthew Holt
9cd6f35e9d
Separate out certificate selection
2019-05-27 11:31:47 -06:00
Matthew Holt
210d0cf7f1
Implement custom cert selection policies; optimize matching for SNI
2019-05-24 13:18:45 -06:00
Matthew Holt
5a4a1421de
Fix error handling and matching catch-all routes
2019-05-23 14:42:14 -06:00
Matthew Holt
34a25dd558
Add very simple markdown middleware for now
2019-05-23 14:41:43 -06:00
Matthew Holt
9e576c76e7
Add request_body middleware and some limits to HTTP servers
2019-05-23 13:16:34 -06:00
Matthew Holt
c24a3e389f
Change admin listener to :1234 for now; output message when listening
2019-05-22 19:10:29 -06:00
Matthew Holt
f976451d19
Disallow unknown fields (strict unmarshal) when loading modules
...
This makes it faster and easier to detect broken configurations, but
is a slight performance hit on config loads since we have to re-encode
the decoded struct back into JSON without the module name's key
2019-05-22 14:32:12 -06:00
Matthew Holt
869fbac632
Don't use auto HTTPS for servers with only HTTP port listeners
2019-05-22 14:14:26 -06:00
Matthew Holt
284fb3a98c
Allow multiple matcher sets in routes (OR'ed together)
...
Also export MatchRegexp in case other matcher modules find it useful.
Add comments to the exported matchers.
2019-05-22 13:13:39 -06:00
Matthew Holt
bc00d840e8
Export types and fields necessary to build configs (for config adapters)
...
Also flag most fields with 'omitempty' for JSON marshaling
2019-05-22 12:32:36 -06:00
Matthew Holt
be9b6e7b57
Honor the configured CA value
2019-05-21 14:22:33 -06:00
Matthew Holt
2fd98cb040
Module.New() does not need to return an error
2019-05-21 14:22:21 -06:00
Matthew Holt
67d32e6779
Fix up matchers tests and take care of TODO in rewrite
2019-05-21 13:10:14 -06:00
Matthew Holt
9d54f655aa
Take care of remaining TODOs in the browse responder
2019-05-21 13:03:52 -06:00
Matthew Holt
65195a726d
Implement rewrite middleware; fix middleware stack bugs
2019-05-20 23:48:43 -06:00
Matthew Holt
b84cb05848
Fix deferred header ops
2019-05-20 22:00:54 -06:00
Matthew Holt
a969872850
Default error handler; rename StaticFiles -> FileServer
2019-05-20 21:21:33 -06:00
Matthew Holt
aaacab1bc3
Sanitize paths in static file server; some cleanup
...
Also remove AutomaticHTTPSError for now
2019-05-20 17:15:38 -06:00
Matthew Holt
d22f64e6d4
Implement headers middleware
2019-05-20 15:46:52 -06:00
Matthew Holt
22995e5655
Implement most of browse; fix a couple obvious bugs; some cleanup
2019-05-20 15:46:52 -06:00
dev
043eb1d9e5
move internal packages to pkg folder and update reverse proxy
...
* set automatic https error type for cert-magic failures
* add state to onload and unload methods
* update reverse proxy to use Provision() and Cleanup()
2019-05-20 14:48:26 -04:00
Matthew Holt
fec7fa8bfd
Implement most of static file server; refactor and improve Replacer
2019-05-20 10:59:20 -06:00
Matthew Holt
1a20fe330e
Improve godoc for contexts
2019-05-17 08:48:12 -06:00