Implement port remapping
							parent
							
								
									55b450f371
								
							
						
					
					
						commit
						6d60b5a74f
					
				| 
						 | 
				
			
			@ -1,9 +1,8 @@
 | 
			
		|||
! Copyright (C) 2008 Slava Pestov.
 | 
			
		||||
! See http://factorcode.org/license.txt for BSD license.
 | 
			
		||||
USING: kernel accessors combinators namespaces fry
 | 
			
		||||
io.servers.connection urls http http.server
 | 
			
		||||
http.server.redirection http.server.responses
 | 
			
		||||
http.server.filters furnace ;
 | 
			
		||||
USING: kernel accessors combinators namespaces fry urls http
 | 
			
		||||
http.server http.server.redirection http.server.responses
 | 
			
		||||
http.server.remapping http.server.filters furnace ;
 | 
			
		||||
IN: furnace.redirection
 | 
			
		||||
 | 
			
		||||
: <redirect> ( url -- response )
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +15,7 @@ IN: furnace.redirection
 | 
			
		|||
: >secure-url ( url -- url' )
 | 
			
		||||
    clone
 | 
			
		||||
        "https" >>protocol
 | 
			
		||||
        secure-port >>port ;
 | 
			
		||||
        secure-http-port >>port ;
 | 
			
		||||
 | 
			
		||||
: <secure-redirect> ( url -- response )
 | 
			
		||||
    >secure-url <redirect> ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
! Copyright (C) 2008 Slava Pestov.
 | 
			
		||||
! See http://factorcode.org/license.txt for BSD license.
 | 
			
		||||
USING: namespaces assocs kernel io.servers.connection ;
 | 
			
		||||
IN: http.server.remapping
 | 
			
		||||
 | 
			
		||||
SYMBOL: port-remapping
 | 
			
		||||
 | 
			
		||||
: remap-port ( n -- n' )
 | 
			
		||||
    [ port-remapping get at ] keep or ;
 | 
			
		||||
 | 
			
		||||
: secure-http-port ( -- n )
 | 
			
		||||
    secure-port remap-port ;
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ fry logging logging.insomniac calendar urls
 | 
			
		|||
http
 | 
			
		||||
http.parsers
 | 
			
		||||
http.server.responses
 | 
			
		||||
http.server.remapping
 | 
			
		||||
html.templates
 | 
			
		||||
html.elements
 | 
			
		||||
html.streams ;
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +189,7 @@ LOG: httpd-header NOTICE
 | 
			
		|||
    "/" split harvest ;
 | 
			
		||||
 | 
			
		||||
: init-request ( request -- )
 | 
			
		||||
    [ request set ] [ url>> url set ] bi
 | 
			
		||||
    [ request set ] [ url>> [ remap-port ] change-port url set ] bi
 | 
			
		||||
    V{ } clone responder-nesting set ;
 | 
			
		||||
 | 
			
		||||
: dispatch-request ( request -- response )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue