Update readme with log sna strip options
This commit is contained in:
parent
3a411ea621
commit
cfecb83eb5
|
@ -3,8 +3,11 @@
|
||||||
A simple service to proxy unix sockets to http. Useful for containerizing web services that don't natively support listening on unix sockets.
|
A simple service to proxy unix sockets to http. Useful for containerizing web services that don't natively support listening on unix sockets.
|
||||||
|
|
||||||
Usage of unixproxy:
|
Usage of unixproxy:
|
||||||
|
-log
|
||||||
|
Log requests to stdout
|
||||||
|
-strip string
|
||||||
|
Strip prefix from reqeusts
|
||||||
-unix string
|
-unix string
|
||||||
Unix socket to listen on
|
Unix socket to listen on
|
||||||
-url string
|
-url string
|
||||||
URL to proxy to
|
URL to proxy to
|
||||||
|
|
||||||
|
|
24
main.go
24
main.go
|
@ -15,6 +15,14 @@ type myConfig struct {
|
||||||
MyURL string
|
MyURL string
|
||||||
MySock string
|
MySock string
|
||||||
Strip string
|
Strip string
|
||||||
|
Log bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func logRequest(handler http.Handler) http.Handler {
|
||||||
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Printf("%s %s %s\n", r.RemoteAddr, r.Method, r.URL)
|
||||||
|
handler.ServeHTTP(w, r)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -23,7 +31,7 @@ func main() {
|
||||||
flag.StringVar(&c.MyURL, "url", "", "URL to proxy to")
|
flag.StringVar(&c.MyURL, "url", "", "URL to proxy to")
|
||||||
flag.StringVar(&c.MySock, "unix", "", "Unix socket to listen on")
|
flag.StringVar(&c.MySock, "unix", "", "Unix socket to listen on")
|
||||||
flag.StringVar(&c.Strip, "strip", "", "Strip prefix from reqeusts")
|
flag.StringVar(&c.Strip, "strip", "", "Strip prefix from reqeusts")
|
||||||
|
flag.BoolVar(&c.Log, "log", false, "Log requests to stdout")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if c.MySock == "" {
|
if c.MySock == "" {
|
||||||
|
@ -49,9 +57,21 @@ func main() {
|
||||||
WriteTimeout: 3 * time.Second,
|
WriteTimeout: 3 * time.Second,
|
||||||
IdleTimeout: 30 * time.Second,
|
IdleTimeout: 30 * time.Second,
|
||||||
ReadHeaderTimeout: 20 * time.Second,
|
ReadHeaderTimeout: 20 * time.Second,
|
||||||
Handler: http.StripPrefix(c.Strip, frontendProxy),
|
|
||||||
}
|
}
|
||||||
|
if c.Strip == "" {
|
||||||
|
if c.Log {
|
||||||
|
srv.Handler = logRequest(frontendProxy)
|
||||||
|
} else {
|
||||||
|
srv.Handler = frontendProxy
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if c.Log {
|
||||||
|
srv.Handler = logRequest(http.StripPrefix(c.Strip, frontendProxy))
|
||||||
|
|
||||||
|
} else {
|
||||||
|
srv.Handler = http.StripPrefix(c.Strip, frontendProxy)
|
||||||
|
}
|
||||||
|
}
|
||||||
unixListener, err := net.Listen("unix", c.MySock)
|
unixListener, err := net.Listen("unix", c.MySock)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue