func main() { flag.Parse() ctx := base.Context{Insecure: *insecure, Certs: *certs, User: *user} httpClient, err := ctx.GetHTTPClient() if err != nil { panic(err) } startTime := time.Now() file := filepath.Join(*outputDir, fmt.Sprintf("monitor.%s", strings.Replace( startTime.Format(time.RFC3339), ":", "_", -1))) log.Infof("Logging cluster status to: %s.\n", file) w, err := os.Create(file) if err != nil { panic(err) } defer w.Close() url := fmt.Sprintf("%s://%s/%s", ctx.HTTPRequestScheme(), *addr, *endpoint) log.Infof("Cluster Status URL: %s\n", url) for range time.Tick(*interval) { resp, found := request(url, httpClient) if !found { log.Warningf("Could not get cluster status. Time since monitor started %s.", time.Since(startTime)) break } log.Infof("Got cluster status.") fmt.Fprintf(w, "%s\n", resp) } }
// makeTestHTTPSession constructs a new testHTTPSession. The session will // instantiate a client using the based base context. All HTTP requests from the // session will be sent to the given baseUrl. // // baseUrl should be specified *without* a request scheme (i.e. "http://"); the // request scheme will be used from the context. // // If an error occurs in HTTP layer during any session operation, a Fatal method // will be called on the supplied t.Tester. func makeTestHTTPSession(t *testing.T, ctx *base.Context, baseURL string) testHTTPSession { client, err := ctx.GetHTTPClient() if err != nil { t.Fatalf("error creating client: %s", err) } return testHTTPSession{ client: client, baseURL: ctx.HTTPRequestScheme() + "://" + baseURL, } }
// NewTestHTTPSession constructs a new TestHTTPSession. The session will // instantiate a client using the based base context. All HTTP requests from the // session will be sent to the given baseUrl. // // baseUrl should be specified *without* a request scheme (i.e. "http://"); the // request scheme will be used from the context. // // If an error occurs in HTTP layer during any session operation, a Fatal method // will be called on the supplied t.Tester. func NewTestHTTPSession(t util.Tester, ctx *base.Context, baseURL string) *TestHTTPSession { client, err := ctx.GetHTTPClient() if err != nil { t.Fatalf("error creating client: %s", err) } return &TestHTTPSession{ t: t, client: client, baseURL: ctx.HTTPRequestScheme() + "://" + baseURL, } }
func newStatusMonitor(context *base.Context, addr string) (*statusMonitor, error) { monitor := &statusMonitor{ addr: addr, } var err error monitor.httpClient, err = context.GetHTTPClient() if err != nil { return nil, err } monitor.url = fmt.Sprintf("%s://%s/%s", context.HTTPRequestScheme(), monitor.addr, urlPath) return monitor, nil }