Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c4159ef76d 
							
						 
					 
					
						
						
							
							Fix module-related errors  
						
						
						
						
					 
					
						2019-08-09 12:19:56 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ab885f07b8 
							
						 
					 
					
						
						
							
							Implement config adapters and beginning of Caddyfile adapter  
						
						... 
						
						
						
						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-08-09 12:05:47 -06:00 
						 
				 
			
				
					
						
							
							
								Dominik Braun 
							
						 
					 
					
						
						
						
						
							
						
						
							4950ce485f 
							
						 
					 
					
						
						
							
							Part 1: Optimize using compiler's inliner ( #2687 )  
						
						... 
						
						
						
						* 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-08-07 23:59:02 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b44a22a9d4 
							
						 
					 
					
						
						
							
							Performance improvements to Replacer implementation (placeholders) ( #2674 )  
						
						... 
						
						
						
						Closes  #2673  
					
						2019-07-16 12:27:11 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bdf92ee84e 
							
						 
					 
					
						
						
							
							Minor tweaks  
						
						
						
						
					 
					
						2019-07-15 17:33:47 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f217181293 
							
						 
					 
					
						
						
							
							mod: Use blackfriday's standard v2 module import path  
						
						
						
						
					 
					
						2019-07-15 17:33:08 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ccb5d19c25 
							
						 
					 
					
						
						
							
							Get module name at runtime, and tidy up modules  
						
						
						
						
					 
					
						2019-07-12 10:15:27 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							63674ba081 
							
						 
					 
					
						
						
							
							Rename handler modules to use http.handlers namespace  
						
						
						
						
					 
					
						2019-07-11 22:03:12 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9722dbe18a 
							
						 
					 
					
						
						
							
							Fix rehandling bug  
						
						
						
						
					 
					
						2019-07-11 22:02:47 -06:00 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6dfba5fda8 
							
						 
					 
					
						
						
							
							Add path components to HTTP replacer  
						
						
						
						
					 
					
						2019-07-08 16:46:55 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							84f9f7cd60 
							
						 
					 
					
						
						
							
							Little cleanups  
						
						
						
						
					 
					
						2019-07-05 13:59:30 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							9f8d3611eb 
							
						 
					 
					
						
						
							
							encode: Add "Vary" response header  
						
						
						
						
					 
					
						2019-06-30 23:38:36 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							3177ee8010 
							
						 
					 
					
						
						
							
							Add license  
						
						
						
						
					 
					
						2019-06-30 16:07:58 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							fee0b38b48 
							
						 
					 
					
						
						
							
							Fix encoder name bug; remove unused field in encode middleware struct  
						
						
						
						
					 
					
						2019-06-29 16:57:55 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							d5ae3a4966 
							
						 
					 
					
						
						
							
							httpserver: Set default Server header  
						
						
						
						
					 
					
						2019-06-28 19:28:47 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							006dc1792f 
							
						 
					 
					
						
						
							
							Use html/template for escaping by default  
						
						... 
						
						
						
						Allow HTML only with a few specific functions 
						
						
					 
					
						2019-06-27 13:30:41 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							a63cb3e3fd 
							
						 
					 
					
						
						
							
							Implement etag; fix related bugs in encode and templates middlewares  
						
						
						
						
					 
					
						2019-06-27 13:09:10 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							2b22d2e6ea 
							
						 
					 
					
						
						
							
							Optionally enforce strict TLS SNI + HTTP Host matching, & misc. cleanup  
						
						... 
						
						
						
						We should look into a way to enable this by default when TLS client auth
is configured for a server 
						
						
					 
					
						2019-06-26 16:03:29 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							81a9e125b5 
							
						 
					 
					
						
						
							
							Oops  
						
						
						
						
					 
					
						2019-06-21 08:52:15 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							70c788ce0c 
							
						 
					 
					
						
						
							
							Minor cleanups/improvements  
						
						
						
						
					 
					
						2019-06-21 08:08:26 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							1c443beb9c 
							
						 
					 
					
						
						
							
							caddyhttp: ResponseRecorder type for middlewares to buffer responses  
						
						... 
						
						
						
						Unfortunately, templates and markdown require buffering the full
response before it can be processed and written to the client 
						
						
					 
					
						2019-06-20 21:49:45 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							6d0350d04e 
							
						 
					 
					
						
						
							
							caddyhttp: Fix host matching when host has a port  
						
						
						
						
					 
					
						2019-06-20 20:24:46 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							15647bdfb7 
							
						 
					 
					
						
						
							
							templates: Remove context functions implemented by sprig  
						
						
						
						
					 
					
						2019-06-18 15:43:51 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							2663dd176d 
							
						 
					 
					
						
						
							
							Refactor templates execution; add sprig functions  
						
						
						
						
					 
					
						2019-06-18 15:17:48 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							b8e7453fef 
							
						 
					 
					
						
						
							
							Implement brotli encoder; improve validation of other encoders  
						
						
						
						
					 
					
						2019-06-13 11:20:43 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							0c8763a728 
							
						 
					 
					
						
						
							
							Add simple tests for static responder  
						
						
						
						
					 
					
						2019-06-11 17:46:11 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f5b4f268dc 
							
						 
					 
					
						
						
							
							Implement encode middleware ( #2 )  
						
						... 
						
						
						
						* Implement encode middleware
* Add missing break; and add missing JSON struct field tag 
						
						
					 
					
						2019-06-10 10:21:25 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							ef5f29cfb2 
							
						 
					 
					
						
						
							
							Do not allow Go standard lib to sniff Content-Type header  
						
						
						
						
					 
					
						2019-06-07 19:59:25 -06:00 
						 
				 
			
				
					
						
							
							
								dev 
							
						 
					 
					
						
						
						
						
							
						
						
							878ae0002a 
							
						 
					 
					
						
						
							
							fix goroutine leak in healthcheckers  
						
						
						
						
					 
					
						2019-06-07 15:52:10 -04: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 
							
						 
					 
					
						
						
						
						
							
						
						
							39db06d9c4 
							
						 
					 
					
						
						
							
							Implement IP/CIDR matcher and Not (negated) matcher  
						
						
						
						
					 
					
						2019-06-04 13:42:54 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							bf54615efc 
							
						 
					 
					
						
						
							
							ResponseMatcher for conditional logic of response headers  
						
						
						
						
					 
					
						2019-05-28 18:53:08 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							da6a8cfc86 
							
						 
					 
					
						
						
							
							Minor cleanups  
						
						
						
						
					 
					
						2019-05-28 18:52:21 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							5a4a1421de 
							
						 
					 
					
						
						
							
							Fix error handling and matching catch-all routes  
						
						
						
						
					 
					
						2019-05-23 14:42:14 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							34a25dd558 
							
						 
					 
					
						
						
							
							Add very simple markdown middleware for now  
						
						
						
						
					 
					
						2019-05-23 14:41:43 -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