Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-09-30 | Clean up provisioned modules on error; refactor Run(); add Validate() | Matthew Holt | |
Modules that return an error during provisioning should still be cleaned up so that they don't leak any resources they may have allocated before the error occurred. Cleanup should be able to run even if Provision does not complete fully. | |||
2019-09-14 | Eliminate some TODOs | Matthew Holt | |
2019-09-13 | Hard-code 'main' module name until bug upstream in Go modules is fixed | Matthew Holt | |
See https://github.com/golang/go/issues/29228 | |||
2019-08-17 | Fixing a compilation error (#2712) | Albert Shirima | |
./caddy.go:230:12: cannot use *dep (type debug.Module) as type *debug.Module in return argument ./caddy.go:233:12: cannot use bi.Main (type debug.Module) as type *debug.Module in return argument | |||
2019-08-07 | Part 1: Optimize using compiler's inliner (#2687) | Dominik Braun | |
* optimized functions for inlining * added note regarding ResponseWriterWrapper * optimzed browseWrite* methods for FileServer * created benchmarks for comparison * creating browseListing instance in each function * created benchmarks for openResponseWriter * removed benchmarks of old implementations * implemented sync.Pool for byte buffers * using global sync.Pool for writing JSON/HTML | |||
2019-07-15 | Minor tweaks | Matthew Holt | |
2019-07-12 | Get module name at runtime, and tidy up modules | Matthew Holt | |
2019-07-12 | Standardize exit codes and improve shutdown handling; update gitignore | Matthew Holt | |
2019-07-03 | Change storage module key from "system" to "module" | Matthew Holt | |
2019-07-02 | go.mod: Append /v2 to module name; update all import paths | Matthew Holt | |
See https://github.com/golang/go/wiki/Modules#semantic-import-versioning | |||
2019-06-30 | Add license | Matthew Holt | |
2019-06-28 | Refactor code related to getting current version | Matthew Holt | |
And set version in CertMagic for User-Agent purposes | |||
2019-06-28 | Caddy 2 gets a CLI! And admin endpoint is now configurable via JSON | Matthew Holt | |
2019-06-14 | Rename caddy2 -> caddy | Matthew Holt | |
Removes the version from the package name | |||
2019-05-29 | Fix bug unmarshaling custom duration values | Matthew Holt | |
2019-05-22 | Export types and fields necessary to build configs (for config adapters) | Matthew Holt | |
Also flag most fields with 'omitempty' for JSON marshaling | |||
2019-05-20 | Implement most of static file server; refactor and improve Replacer | Matthew Holt | |
2019-05-16 | Architectural shift to using context for config and module state | Matthew Holt | |
2019-05-16 | Some minor updates, and get rid of OnLoad/OnUnload | Matthew Holt | |
2019-04-29 | Instantiate apps that are needed but not explicitly configured | Matthew Holt | |
2019-04-25 | Initial commit of Storage, TLS, and automatic HTTPS implementations | Matthew Holt | |
2019-04-11 | Begin implementing error handling and re-handling | Matthew Holt | |
2019-04-08 | Implement "global" state for modules, OnLoad and OnUnload callbacks | Matthew Holt | |
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-02 | Close listeners which are no longer used | Matthew Holt | |
2019-04-02 | Merged in deadlines (pull request #1) | Matt Holt | |
Cleanly fake-close listeners * WIP debugging listener deadlines * Fix listener deadlines | |||
2019-03-31 | Very basic middleware and route matching functionality | Matthew Holt | |
2019-03-27 | Fix goroutine leak in Run | Matthew Holt | |
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-26 | Performance testing Load function | Matthew Holt | |
2019-03-26 | Rudimentary start of HTTP servers | Matthew Holt | |