Matthew Holt
eb8625f774
Add error & subroute handlers; weakString; other minor handler changes
2019-07-11 17:02:57 -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
d25008d2c8
Move listen address functions into caddy package; fix unix bug
2019-07-08 16:46:38 -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
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
3177ee8010
Add license
2019-06-30 16:07:58 -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
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
70c788ce0c
Minor cleanups/improvements
2019-06-21 08:08:26 -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
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
da6a8cfc86
Minor cleanups
2019-05-28 18:52:21 -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
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
2fd98cb040
Module.New() does not need to return an error
2019-05-21 14:22:21 -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
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
1f0c061ce3
Architectural shift to using context for config and module state
2019-05-16 16:05:38 -06:00
Matthew Holt
f9d93ead4e
Rename and export some types, other minor changes
2019-05-14 14:14:05 -06:00
Matthew Holt
e40bbecb16
Rough implementation of auto HTTP->HTTPS redirects
...
Also added GracePeriod for server shutdowns
2019-05-07 09:56:18 -06:00
Matthew Holt
2eb3593327
Begin implementing HTTP replacer and static responder
2019-05-04 13:21:20 -06:00
Matthew Holt
5859cd8dad
Instantiate apps that are needed but not explicitly configured
2019-04-29 09:22:00 -06:00
Matthew Holt
2d056fbe66
Initial commit of Storage, TLS, and automatic HTTPS implementations
2019-04-25 13:54:48 -06:00
Matthew Holt
545f28008e
Begin implementing error handling and re-handling
2019-04-11 20:42:55 -06:00
dev
27ecc7f384
Protocol and Caddyscript matchers
...
* Added matcher to determine what protocol the request is being made by
- grpc, tls, http
* Added ability to run caddyscript in a matcher to evaluate the http request
* Added TLS field to caddyscript request time
* Added a library to manipulate and compare a new caddyscript time type
* Library for regex in starlark
2019-04-08 09:58:11 -04:00
Matthew Holt
6621406fa8
Very basic middleware and route matching functionality
2019-03-31 20:41:29 -06:00
Matthew Holt
27ff6aeccb
Fix goroutine leak in Run
...
D'oh, the servers' Shutdown() would never be called because they were
never added to the list of servers.
Thanks Danny for finding this.
2019-03-27 12:36:30 -06:00
Matthew Holt
a8dc73b4d9
Performance testing Load function
2019-03-26 19:42:52 -06:00
Matthew Holt
86e2d1b0a4
Rudimentary start of HTTP servers
2019-03-26 15:45:51 -06:00
Matthew Holt
859b5d7ea3
Initial commit
2019-03-26 12:00:54 -06:00