Matthew Holt
f217181293
mod: Use blackfriday's standard v2 module import path
2019-07-15 17:33:08 -06:00
Matthew Holt
ccb5d19c25
Get module name at runtime, and tidy up modules
2019-07-12 10:15:27 -06:00
Matthew Holt
b780f0f49b
Standardize exit codes and improve shutdown handling; update gitignore
2019-07-12 10:07:11 -06:00
Matthew Holt
2141626269
Fix readme example for updated handler structure
2019-07-12 08:53:02 -06:00
Matthew Holt
63674ba081
Rename handler modules to use http.handlers namespace
2019-07-11 22:03:12 -06:00
Matthew Holt
9722dbe18a
Fix rehandling bug
2019-07-11 22:02:47 -06:00
Matthew Holt
4698352b20
Merge branch 'v2-handlers' into v2
...
# Conflicts:
# modules/caddyhttp/caddyhttp.go
# modules/caddyhttp/fileserver/staticfiles.go
# modules/caddyhttp/routes.go
# modules/caddyhttp/server.go
# modules/caddyhttp/staticresp.go
# modules/caddyhttp/staticresp_test.go
2019-07-11 17:07:52 -06:00
Matthew Holt
eb8625f774
Add error & subroute handlers; weakString; other minor handler changes
2019-07-11 17:02:57 -06:00
Matt Holt
9343403358
Flatten HTTP handler config ( #2662 ) ( #2663 )
...
Differentiating middleware and responders has one benefit, namely that
it's clear which module provides the response, but even then it's not
a great advantage. Linear handler config makes a little more sense,
giving greater flexibility and simplifying the core a bit, even though
it's slightly awkward that handlers which are responders may not use
the 'next' handler that is passed in at all.
2019-07-11 15:32:34 -06:00
Matthew Holt
4a3a418156
Flatten HTTP handler config ( #2662 )
...
Differentiating middleware and responders has one benefit, namely that
it's clear which module provides the response, but even then it's not
a great advantage. Linear handler config makes a little more sense,
giving greater flexibility and simplifying the core a bit, even though
it's slightly awkward that handlers which are responders may not use
the 'next' handler that is passed in at all.
2019-07-09 12:58:39 -06:00
Matthew Holt
6dfba5fda8
Add path components to HTTP replacer
2019-07-08 16:46:55 -06:00
Matthew Holt
d25008d2c8
Move listen address functions into caddy package; fix unix bug
2019-07-08 16:46:38 -06:00
Matthew Holt
4eb5fc541b
Better error handling in CLI commands
2019-07-07 16:39:21 -06:00
Matthew Holt
42acdad9e5
Fix error handling with Validate when loading modules ( fixes #2658 )
...
The return statement was improperly nested in context.go
2019-07-07 14:12:22 -06:00
Matthew Holt
84f9f7cd60
Little cleanups
2019-07-05 13:59:30 -06:00
Matthew Holt
79216d356c
acmemanager: Use storage module key "module" instead of "system"
2019-07-05 09:59:46 -06:00
Matthew Holt
9429c843c8
cmd: New reload command
2019-07-05 09:59:13 -06:00
Matthew Holt
6bcba91fbe
Lowercase env var names in replacer
2019-07-03 15:42:21 -06:00
Matthew Holt
ab101d75d0
Update readme docs
2019-07-03 14:50:59 -06:00
Matthew Holt
7512ea1a64
Change storage module key from "system" to "module"
2019-07-03 10:40:25 -06:00
Matthew Holt
902ec37062
Minor improvements to readme
2019-07-02 21:00:49 -06:00
Matthew Holt
bed05f2450
Fix links in readme
2019-07-02 16:18:35 -06:00
Matthew Holt
fdd871e177
go.mod: Append /v2 to module name; update all import paths
...
See https://github.com/golang/go/wiki/Modules#semantic-import-versioning
2019-07-02 12:37:06 -06:00
Matthew Holt
94c28a2574
Fix README typo, sigh...
2019-07-02 12:29:38 -06:00
Matthew Holt
42386a7272
Add menu and list of improvements to readme
2019-07-02 12:13:09 -06:00
Matthew Holt
5e858a15f7
Add a proper readme
2019-07-01 18:08:56 -06:00
Matthew Holt
533d1afb4b
tls: Enable TLS 1.3 by default; set sane defaults on tls.Config structs
2019-07-01 11:47:46 -06:00
Matthew Holt
9f8d3611eb
encode: Add "Vary" response header
2019-06-30 23:38:36 -06:00
Matthew Holt
3177ee8010
Add license
2019-06-30 16:07:58 -06:00
Matthew Holt
7a7c5f00c0
Add authors file
2019-06-30 16:06:24 -06:00
Matthew Holt
fee0b38b48
Fix encoder name bug; remove unused field in encode middleware struct
2019-06-29 16:57:55 -06:00
Matthew Holt
d5ae3a4966
httpserver: Set default Server header
2019-06-28 19:28:47 -06:00
Matthew Holt
31ab737bf2
Refactor code related to getting current version
...
And set version in CertMagic for User-Agent purposes
2019-06-28 19:28:28 -06:00
Matthew Holt
a4bdf249db
Caddy 2 gets a CLI! And admin endpoint is now configurable via JSON
2019-06-28 15:39:41 -06:00
Matthew Holt
006dc1792f
Use html/template for escaping by default
...
Allow HTML only with a few specific functions
2019-06-27 13:30:41 -06:00
Matthew Holt
a63cb3e3fd
Implement etag; fix related bugs in encode and templates middlewares
2019-06-27 13:09:10 -06:00
Matthew Holt
2b22d2e6ea
Optionally enforce strict TLS SNI + HTTP Host matching, & misc. cleanup
...
We should look into a way to enable this by default when TLS client auth
is configured for a server
2019-06-26 16:03:29 -06:00
Matthew Holt
a524bcfe78
Enable skipping just certificate management for some auto HTTPS names
2019-06-26 10:57:18 -06:00
Matthew Holt
91b03dccb0
Refactor automatic HTTPS configuration; ability to skip certain names
2019-06-26 10:49:32 -06:00
Matthew Holt
6000855c82
Fix panics by disallowing explicitly-defined null modules in config
2019-06-26 10:45:34 -06:00
Matthew Holt
38677aaa58
caddytls: Support tags for manually-loaded certificates
2019-06-24 12:16:10 -06:00
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