c24a3e389f 
								
							
								 
							
						 
						
							
							
								
								Change admin listener to :1234 for now; output message when listening  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								869fbac632 
								
							
								 
							
						 
						
							
							
								
								Don't use auto HTTPS for servers with only HTTP port listeners  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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. 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								bc00d840e8 
								
							
								 
							
						 
						
							
							
								
								Export types and fields necessary to build configs (for config adapters)  
							
							
 
							
							
							Also flag most fields with 'omitempty' for JSON marshaling 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								be9b6e7b57 
								
							
								 
							
						 
						
							
							
								
								Honor the configured CA value  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2fd98cb040 
								
							
								 
							
						 
						
							
							
								
								Module.New() does not need to return an error  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								67d32e6779 
								
							
								 
							
						 
						
							
							
								
								Fix up matchers tests and take care of TODO in rewrite  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								9d54f655aa 
								
							
								 
							
						 
						
							
							
								
								Take care of remaining TODOs in the browse responder  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								65195a726d 
								
							
								 
							
						 
						
							
							
								
								Implement rewrite middleware; fix middleware stack bugs  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								b84cb05848 
								
							
								 
							
						 
						
							
							
								
								Fix deferred header ops  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a969872850 
								
							
								 
							
						 
						
							
							
								
								Default error handler; rename StaticFiles -> FileServer  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								aaacab1bc3 
								
							
								 
							
						 
						
							
							
								
								Sanitize paths in static file server; some cleanup  
							
							
 
							
							
							Also remove AutomaticHTTPSError for now 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d22f64e6d4 
								
							
								 
							
						 
						
							
							
								
								Implement headers middleware  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								22995e5655 
								
							
								 
							
						 
						
							
							
								
								Implement most of browse; fix a couple obvious bugs; some cleanup  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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() 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								fec7fa8bfd 
								
							
								 
							
						 
						
							
							
								
								Implement most of static file server; refactor and improve Replacer  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1a20fe330e 
								
							
								 
							
						 
						
							
							
								
								Improve godoc for contexts  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1f0c061ce3 
								
							
								 
							
						 
						
							
							
								
								Architectural shift to using context for config and module state  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ff5b4639d5 
								
							
								 
							
						 
						
							
							
								
								Some minor updates, and get rid of OnLoad/OnUnload  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f9d93ead4e 
								
							
								 
							
						 
						
							
							
								
								Rename and export some types, other minor changes  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								8ae0d6a509 
								
							
								 
							
						 
						
							
							
								
								caddyhttp: Implement better HTTP matchers including regexp; add tests  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								48b5a80320 
								
							
								 
							
						 
						
							
							
								
								Remove (unimplemented) enterprise TLS matchers  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ad3d408067 
								
							
								 
							
						 
						
							
							
								
								Add some tests and fix vet warning  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e40bbecb16 
								
							
								 
							
						 
						
							
							
								
								Rough implementation of auto HTTP->HTTPS redirects  
							
							
 
							
							
							Also added GracePeriod for server shutdowns 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								8eba582efe 
								
							
								 
							
						 
						
							
							
								
								Add go module files  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								fbea3374e9 
								
							
								 
							
						 
						
							
							
								
								Add missing run.go (oops)  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2eb3593327 
								
							
								 
							
						 
						
							
							
								
								Begin implementing HTTP replacer and static responder  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1136e2cfee 
								
							
								 
							
						 
						
							
							
								
								Add reverse proxy  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5859cd8dad 
								
							
								 
							
						 
						
							
							
								
								Instantiate apps that are needed but not explicitly configured  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								43961b542b 
								
							
								 
							
						 
						
							
							
								
								General cleanup and more godocs  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2d056fbe66 
								
							
								 
							
						 
						
							
							
								
								Initial commit of Storage, TLS, and automatic HTTPS implementations  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								545f28008e 
								
							
								 
							
						 
						
							
							
								
								Begin implementing error handling and re-handling  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d42529348f 
								
							
								 
							
						 
						
							
							
								
								Updated proxy module import  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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... 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3eae6d43b6 
								
							
								 
							
						 
						
							
							
								
								Add Validator interface  
							
							
 
							
							
							Modules can now verify their own configurations 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								59a5d0db28 
								
							
								 
							
						 
						
							
							
								
								Close listeners which are no longer used  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f976aa7443 
								
							
								 
							
						 
						
							
							
								
								Merged in deadlines (pull request  #1 )  
							
							
 
							
							
							Cleanly fake-close listeners
* WIP debugging listener deadlines
* Fix listener deadlines 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6621406fa8 
								
							
								 
							
						 
						
							
							
								
								Very basic middleware and route matching functionality  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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. 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a8dc73b4d9 
								
							
								 
							
						 
						
							
							
								
								Performance testing Load function  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								86e2d1b0a4 
								
							
								 
							
						 
						
							
							
								
								Rudimentary start of HTTP servers  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								859b5d7ea3 
								
							
								 
							
						 
						
							
							
								
								Initial commit  
							
							
								
 
							
							
						 
						7 years ago