func (n *NSQAdmin) handleAdminActions() { for action := range n.notifications { content, err := json.Marshal(action) if err != nil { log.Printf("Error serializing admin action! %s", err) } httpclient := &http.Client{Transport: util.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) } } }
// 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: util.NewDeadlineTransport(timeout), } }
func (n *NSQAdmin) handleAdminActions() { for action := range n.notifications { content, err := json.Marshal(action) if err != nil { n.logf("ERROR: failed to serialize admin action - %s", err) } httpclient := &http.Client{Transport: util.NewDeadlineTransport(10 * time.Second)} n.logf("POSTing notification to %s", *notificationHTTPEndpoint) _, err = httpclient.Post(*notificationHTTPEndpoint, "application/json", bytes.NewBuffer(content)) if err != nil { n.logf("ERROR: failed to POST notification - %s", err) } } }
func init() { httpclient = &http.Client{Transport: util.NewDeadlineTransport(*httpTimeout)} userAgent = fmt.Sprintf("nsq_to_http v%s", util.BINARY_VERSION) }