summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/caddyhttp.go
AgeCommit message (Collapse)Author
2019-09-10Experimental IETF-standard HTTP/3 support (known issue exists) (#2727)Matt Holt
* Begin WIP integration of HTTP/3 support * http3: Set actual Handler, make fakeClosePacketConn type for UDP sockets Also use latest quic-go for ALPN fix * Manually keep track of and close HTTP/3 listeners * Update quic-go after working through some http3 bugs * Fix go mod * Make http3 optional for now
2019-09-09Merge pull request #2737 from caddyserver/fastcgi (reverse proxy!)Matt Holt
v2: Refactor reverse proxy and add FastCGI support
2019-09-09Log when auto HTTPS or auto HTTP->HTTPS redirects are disabledMatthew Holt
2019-09-05Reconcile upstream dial addresses and request host/URL informationMatthew Holt
My goodness that was complicated Blessed be request.Context Sort of
2019-09-03Initial implementation of TLS client authentication (#2731)Alexandre Stein
* Add support for client TLS authentication Signed-off-by: Alexandre Stein <alexandre_stein@interlab-net.com> * make and use client authentication struct * force StrictSNIHost if TLSConnPolicies is not empty * Implement leafs verification * Fixes issue when using multiple verification * applies the comments from maintainers * Apply comment * Refactor/cleanup initial TLS client auth implementation
2019-09-02reverse_proxy: WIP refactor and support for FastCGIMatthew Holt
2019-08-21Refactor Caddyfile adapter and module registrationMatthew Holt
Use piles from which to draw config values. Module values can return their name, so now we can do two-way mapping from value to name and name to value; whereas before we could only map name to value. This was problematic with the Caddyfile adapter since it receives values and needs to know the name to put in the config.
2019-08-09Implement config adapters and beginning of Caddyfile adapterMatthew Holt
Along with several other changes, such as renaming caddyhttp.ServerRoute to caddyhttp.Route, exporting some types that were not exported before, and tweaking the caddytls TLS values to be more consistent. Notably, we also now disable automatic cert management for names which already have a cert (manually) loaded into the cache. These names no longer need to be specified in the "skip_certificates" field of the automatic HTTPS config, because they will be skipped automatically.
2019-07-11Fix rehandling bugMatthew Holt
2019-07-11Add error & subroute handlers; weakString; other minor handler changesMatthew Holt
2019-07-09Flatten HTTP handler config (#2662)Matthew Holt
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-08Move listen address functions into caddy package; fix unix bugMatthew Holt
2019-07-07Fix error handling with Validate when loading modules (fixes #2658)Matthew Holt
The return statement was improperly nested in context.go
2019-07-02go.mod: Append /v2 to module name; update all import pathsMatthew Holt
See https://github.com/golang/go/wiki/Modules#semantic-import-versioning
2019-06-30Add licenseMatthew Holt
2019-06-26Enable skipping just certificate management for some auto HTTPS namesMatthew Holt
2019-06-26Refactor automatic HTTPS configuration; ability to skip certain namesMatthew Holt
2019-06-24caddytls: Support tags for manually-loaded certificatesMatthew Holt
2019-06-21Various bug fixes and minor improvementsMatthew Holt
- 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-21Minor cleanups/improvementsMatthew Holt
2019-06-18Implement templates handler; various minor cleanups and bug fixesMatthew Holt
2019-06-14Rename caddy2 -> caddyMatthew Holt
Removes the version from the package name
2019-06-04Fix bugs related to auto HTTPS and alternate port configurationsMatthew Holt
2019-06-04Change import paths to GitHub package namesMatthew Holt
2019-05-28Minor cleanupsMatthew Holt
2019-05-23Add request_body middleware and some limits to HTTP serversMatthew Holt
2019-05-22Don't use auto HTTPS for servers with only HTTP port listenersMatthew Holt
2019-05-22Allow multiple matcher sets in routes (OR'ed together)Matthew Holt
Also export MatchRegexp in case other matcher modules find it useful. Add comments to the exported matchers.
2019-05-22Export types and fields necessary to build configs (for config adapters)Matthew Holt
Also flag most fields with 'omitempty' for JSON marshaling
2019-05-21Module.New() does not need to return an errorMatthew Holt
2019-05-20Sanitize paths in static file server; some cleanupMatthew Holt
Also remove AutomaticHTTPSError for now
2019-05-20Implement most of browse; fix a couple obvious bugs; some cleanupMatthew Holt
2019-05-20move internal packages to pkg folder and update reverse proxydev
* 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-20Implement most of static file server; refactor and improve ReplacerMatthew Holt
2019-05-16Architectural shift to using context for config and module stateMatthew Holt
2019-05-14Rename and export some types, other minor changesMatthew Holt
2019-05-07Rough implementation of auto HTTP->HTTPS redirectsMatthew Holt
Also added GracePeriod for server shutdowns
2019-05-04Begin implementing HTTP replacer and static responderMatthew Holt
2019-04-29Instantiate apps that are needed but not explicitly configuredMatthew Holt
2019-04-25Initial commit of Storage, TLS, and automatic HTTPS implementationsMatthew Holt
2019-04-11Begin implementing error handling and re-handlingMatthew Holt
2019-04-08Protocol and Caddyscript matchersdev
* 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-03-31Very basic middleware and route matching functionalityMatthew Holt
2019-03-27Fix goroutine leak in RunMatthew 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-26Performance testing Load functionMatthew Holt
2019-03-26Rudimentary start of HTTP serversMatthew Holt
2019-03-26Initial commitMatthew Holt