caddy/modules/caddyhttp
Matt Holt 5a6b2f8d1d
events: Refactor; move Event into core, so core can emit events (#6930)
* events: Refactor; move Event into core, so core can emit events

Requires some slight trickery to invert dependencies. We can't have the caddy package import the caddyevents package, because caddyevents imports caddy. Interface to the rescue!

Also add two new events, experimentally: started, and stopping. At the request of a sponsor.

Also rename "Filesystems" to "FileSystems" to match Go convention (unrelated to events, was just bugging me when I noticed it).

* Coupla bug fixes

* lol whoops
2025-03-29 08:15:43 -06:00
..
caddyauth perf: use zap's Check() to prevent useless allocs (#6560) 2024-09-13 11:16:37 -06:00
encode encode: try to use sendfile when compression is not used (#6749) 2024-12-20 21:37:16 +00:00
fileserver events: Refactor; move Event into core, so core can emit events (#6930) 2025-03-29 08:15:43 -06:00
headers headers: Allow nil HeaderOps (fix #6893) 2025-03-11 08:52:15 -06:00
intercept perf: use zap's Check() to prevent useless allocs (#6560) 2024-09-13 11:16:37 -06:00
logging logging: Implement log_append handler (#6066) 2024-03-05 17:03:59 -07:00
map chore: Use slices package where possible (#6585) 2024-09-25 14:30:56 -06:00
proxyprotocol docs: expand proxy protocol docs (#6620) 2024-10-10 16:21:26 -04:00
push perf: use zap's Check() to prevent useless allocs (#6560) 2024-09-13 11:16:37 -06:00
requestbody requestbody: Fix ContentLength calculation after body replacement (#6896) 2025-03-12 22:18:02 +00:00
reverseproxy core: add modular network_proxy support (#6399) 2025-03-21 17:06:15 +00:00
rewrite rewrite: Don't add / in Caddyfile, do it after replacer (#6662) 2024-11-05 10:15:31 -07:00
standard caddyhttp: New experimental handler for intercepting responses (#6232) 2024-05-13 17:38:18 +00:00
templates caddyhttp: Escaping placeholders in CEL, add vars and vars_regexp (#6594) 2024-10-02 06:34:04 -06:00
tracing tracing: Add spanID field to access logs and http.vars.span_id placeholder (#6646) 2024-10-21 11:06:55 -06:00
app.go chore: Remove unnecessary explicit type parameters 2025-03-07 11:18:00 -07:00
autohttps.go caddytls: Don't publish ECH configs if other records don't exist 2025-03-12 16:33:14 -06:00
caddyhttp.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00
caddyhttp_test.go caddyhttp: Add test cases to corpus (#6374) 2024-06-04 14:23:55 -06:00
celmatcher.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00
celmatcher_test.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00
errors.go caddyhttp: Preserve original error (fix #5652) 2023-07-25 09:41:56 -06:00
http2listener.go caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn (#4929) 2023-04-10 17:05:02 +00:00
httpredirectlistener.go httpredirectlistener: Only set read limit for when request is HTTP (#5917) 2023-11-20 12:31:36 +00:00
invoke.go caddyhttp: Implement named routes, invoke directive (#5107) 2023-05-16 15:27:52 +00:00
ip_matchers.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00
ip_range.go Move PrivateRangesCIDR() back: add a pass-through function (#6514) 2024-08-12 05:47:05 -04:00
logging.go Revert "logging: Always set fields func; fix #6829" 2025-02-07 06:23:43 -07:00
marshalers.go caddyhttp: Allow matching Transfer-Encoding, add to access logs (#6629) 2024-12-20 11:16:34 -07:00
matchers.go caddyfile: add error handling for unrecognized subdirective/options in various modules (#6884) 2025-03-08 23:45:05 +03:00
matchers_test.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00
metrics.go metrics: move metrics up, outside servers (#6606) 2024-10-18 09:54:21 -06:00
metrics_test.go metrics: scope metrics to active config, add optional per-host metrics (#6531) 2024-10-02 08:23:26 -06:00
replacer.go caddyhttp: Add {?query} placeholder (#6714) 2024-12-02 08:06:38 -05:00
replacer_test.go caddyhttp: add http.request.local{,.host,.port} placeholder (#6182) 2024-03-27 21:36:53 +00:00
responsematchers.go caddyhttp: Allow matching Transfer-Encoding, add to access logs (#6629) 2024-12-20 11:16:34 -07:00
responsematchers_test.go reverseproxy: Add handle_response blocks to reverse_proxy (#3710) (#4021) 2021-05-02 12:39:06 -06:00
responsewriter.go caddyhttp: ResponseRecorder sets stream regardless of 1xx 2025-01-27 08:18:37 -07:00
responsewriter_test.go caddyhttp: Address some Go 1.20 features (#6252) 2024-04-24 00:05:57 +00:00
routes.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00
server.go Revert "logging: Always set fields func; fix #6829" 2025-02-07 06:23:43 -07:00
server_test.go tracing: Add spanID field to access logs and http.vars.span_id placeholder (#6646) 2024-10-21 11:06:55 -06:00
staticerror.go caddyhttp: run error (msg) through replacer (#6536) 2024-08-22 11:32:44 -06:00
staticresp.go core: Implement socket activation listeners (#6573) 2024-09-30 10:55:03 -06:00
staticresp_test.go Move from deprecated ioutil to os and io packages (#4364) 2021-09-29 11:17:48 -06:00
subroute.go reverseproxy: Enable changing only the status code (close #2920) 2020-06-04 12:06:38 -06:00
vars.go caddyhttp: Add MatchWithError to replace SetVar hack (#6596) 2024-11-04 23:18:50 +00:00