Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							9cd6f35e9d 
							
						 
					 
					
						
						
							
							Separate out certificate selection  
						
						
						
						
					 
					
						2019-05-27 11:31:47 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							210d0cf7f1 
							
						 
					 
					
						
						
							
							Implement custom cert selection policies; optimize matching for SNI  
						
						
						
						
					 
					
						2019-05-24 13:18:45 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							c24a3e389f 
							
						 
					 
					
						
						
							
							Change admin listener to :1234 for now; output message when listening  
						
						
						
						
					 
					
						2019-05-22 19:10:29 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							f976451d19 
							
						 
					 
					
						
						
							
							Disallow unknown fields (strict unmarshal) when loading modules  
						
						... 
						
						
						
						This makes it faster and easier to detect broken configurations, but
is a slight performance hit on config loads since we have to re-encode
the decoded struct back into JSON without the module name's key 
						
						
					 
					
						2019-05-22 14:32:12 -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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							be9b6e7b57 
							
						 
					 
					
						
						
							
							Honor the configured CA value  
						
						
						
						
					 
					
						2019-05-21 14:22:33 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							2fd98cb040 
							
						 
					 
					
						
						
							
							Module.New() does not need to return an error  
						
						
						
						
					 
					
						2019-05-21 14:22:21 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							67d32e6779 
							
						 
					 
					
						
						
							
							Fix up matchers tests and take care of TODO in rewrite  
						
						
						
						
					 
					
						2019-05-21 13:10:14 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							9d54f655aa 
							
						 
					 
					
						
						
							
							Take care of remaining TODOs in the browse responder  
						
						
						
						
					 
					
						2019-05-21 13:03:52 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							65195a726d 
							
						 
					 
					
						
						
							
							Implement rewrite middleware; fix middleware stack bugs  
						
						
						
						
					 
					
						2019-05-20 23:48:43 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							b84cb05848 
							
						 
					 
					
						
						
							
							Fix deferred header ops  
						
						
						
						
					 
					
						2019-05-20 22:00:54 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							a969872850 
							
						 
					 
					
						
						
							
							Default error handler; rename StaticFiles -> FileServer  
						
						
						
						
					 
					
						2019-05-20 21:21:33 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							aaacab1bc3 
							
						 
					 
					
						
						
							
							Sanitize paths in static file server; some cleanup  
						
						... 
						
						
						
						Also remove AutomaticHTTPSError for now 
						
						
					 
					
						2019-05-20 17:15:38 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							d22f64e6d4 
							
						 
					 
					
						
						
							
							Implement headers middleware  
						
						
						
						
					 
					
						2019-05-20 15:46:52 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							22995e5655 
							
						 
					 
					
						
						
							
							Implement most of browse; fix a couple obvious bugs; some cleanup  
						
						
						
						
					 
					
						2019-05-20 15:46:52 -06:00 
						 
				 
			
				
					
						
							
							
								dev 
							
						 
					 
					
						
						
						
						
							
						
						
							043eb1d9e5 
							
						 
					 
					
						
						
							
							move internal packages to pkg folder and update reverse proxy  
						
						... 
						
						
						
						* 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-20 14:48:26 -04:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							fec7fa8bfd 
							
						 
					 
					
						
						
							
							Implement most of static file server; refactor and improve Replacer  
						
						
						
						
					 
					
						2019-05-20 10:59:20 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							1a20fe330e 
							
						 
					 
					
						
						
							
							Improve godoc for contexts  
						
						
						
						
					 
					
						2019-05-17 08:48:12 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							f9d93ead4e 
							
						 
					 
					
						
						
							
							Rename and export some types, other minor changes  
						
						
						
						
					 
					
						2019-05-14 14:14:05 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							8ae0d6a509 
							
						 
					 
					
						
						
							
							caddyhttp: Implement better HTTP matchers including regexp; add tests  
						
						
						
						
					 
					
						2019-05-10 21:07:02 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							48b5a80320 
							
						 
					 
					
						
						
							
							Remove (unimplemented) enterprise TLS matchers  
						
						
						
						
					 
					
						2019-05-07 11:58:58 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							ad3d408067 
							
						 
					 
					
						
						
							
							Add some tests and fix vet warning  
						
						
						
						
					 
					
						2019-05-07 10:15:46 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							e40bbecb16 
							
						 
					 
					
						
						
							
							Rough implementation of auto HTTP->HTTPS redirects  
						
						... 
						
						
						
						Also added GracePeriod for server shutdowns 
						
						
					 
					
						2019-05-07 09:56:18 -06:00 
						 
				 
			
				
					
						
							
							
								dev 
							
						 
					 
					
						
						
						
						
							
						
						
							8eba582efe 
							
						 
					 
					
						
						
							
							Add go module files  
						
						
						
						
					 
					
						2019-05-06 17:26:05 -04:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							fbea3374e9 
							
						 
					 
					
						
						
							
							Add missing run.go (oops)  
						
						
						
						
					 
					
						2019-05-06 12:43:04 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							2eb3593327 
							
						 
					 
					
						
						
							
							Begin implementing HTTP replacer and static responder  
						
						
						
						
					 
					
						2019-05-04 13:21:20 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							1136e2cfee 
							
						 
					 
					
						
						
							
							Add reverse proxy  
						
						
						
						
					 
					
						2019-05-04 10:49:50 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							5859cd8dad 
							
						 
					 
					
						
						
							
							Instantiate apps that are needed but not explicitly configured  
						
						
						
						
					 
					
						2019-04-29 09:22:00 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							43961b542b 
							
						 
					 
					
						
						
							
							General cleanup and more godocs  
						
						
						
						
					 
					
						2019-04-26 12:35:39 -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 
						 
				 
			
				
					
						
							
							
								dev 
							
						 
					 
					
						
						
						
						
							
						
						
							d42529348f 
							
						 
					 
					
						
						
							
							Updated proxy module import  
						
						
						
						
					 
					
						2019-04-08 16:25:27 -04:00 
						 
				 
			
				
					
						
							
							
								dev 
							
						 
					 
					
						
						
						
						
							
						
						
							27ecc7f384 
							
						 
					 
					
						
						
							
							Protocol and Caddyscript matchers  
						
						... 
						
						
						
						* 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-04-08 09:58:11 -04: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 
							
						 
					 
					
						
						
						
						
							
						
						
							3eae6d43b6 
							
						 
					 
					
						
						
							
							Add Validator interface  
						
						... 
						
						
						
						Modules can now verify their own configurations 
						
						
					 
					
						2019-04-03 11:41:36 -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 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							859b5d7ea3 
							
						 
					 
					
						
						
							
							Initial commit  
						
						
						
						
					 
					
						2019-03-26 12:00:54 -06:00