Matthew Holt
7512ea1a64
Change storage module key from "system" to "module"
2019-07-03 10:40:25 -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
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
5137859e47
Rename caddy2 -> caddy
...
Removes the version from the package name
2019-06-14 11:58:28 -06:00
Matthew Holt
2265db9028
Fix bug unmarshaling custom duration values
2019-05-29 23:09:51 -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
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
ff5b4639d5
Some minor updates, and get rid of OnLoad/OnUnload
2019-05-16 11:46:17 -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
Matthew Holt
402f423693
Implement "global" state for modules, OnLoad and OnUnload callbacks
...
Tested for memory leaks and performance. Obviously the added locking and
global state is not awesome, but the alternative is a little uglier IMO:
we'd have to make some sort of "liaison" value which stores the state,
then pass it around to every module, and so LoadModule becomes a lot
less accessible, and each module would need to maintain a reference to
it... nope, just ugly. I think this is the cleaner solution: just make
sure only one Start() happens at a time, and keep global things global.
Very simple log middleware is an example.
Might need to reorder the operations in Start() and handle errors
differently, etc. Otherwise, I'm mostly happy with this solution...
2019-04-08 00:00:14 -06:00
Matthew Holt
59a5d0db28
Close listeners which are no longer used
2019-04-02 15:31:02 -06:00
Matt Holt
f976aa7443
Merged in deadlines (pull request #1 )
...
Cleanly fake-close listeners
* WIP debugging listener deadlines
* Fix listener deadlines
2019-04-02 20:58:24 +00: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