// this is similar to httputil.NewSingleHostReverseProxy except it passes along basic auth func NewSingleHostReverseProxy(target *url.URL, timeout time.Duration) *httputil.ReverseProxy { director := func(req *http.Request) { req.URL.Scheme = target.Scheme req.URL.Host = target.Host if target.User != nil { passwd, _ := target.User.Password() req.SetBasicAuth(target.User.Username(), passwd) } } return &httputil.ReverseProxy{ Director: director, Transport: nsq.NewDeadlineTransport(timeout), } }
func HandleAdminActions() { for action := range notifications { content, err := json.Marshal(action) if err != nil { log.Printf("Error serializing admin action! %s", err) } httpclient := &http.Client{Transport: nsq.NewDeadlineTransport(10 * time.Second)} log.Printf("Posting notification to %s", *notificationHTTPEndpoint) _, err = httpclient.Post(*notificationHTTPEndpoint, "application/json", bytes.NewBuffer(content)) if err != nil { log.Printf("Error posting notification: %s", err) } } }
func init() { httpclient = &http.Client{Transport: nsq.NewDeadlineTransport(time.Duration(*httpTimeoutMs) * time.Millisecond)} userAgent = fmt.Sprintf("nsq_to_http v%s", util.BINARY_VERSION) }