func setClientInspectors( client *autorest.Client, requestInspector autorest.PrepareDecorator, loggingModule string, ) { logger := loggo.GetLogger(loggingModule) client.ResponseInspector = tracing.RespondDecorator(logger) client.RequestInspector = tracing.PrepareDecorator(logger) if requestInspector != nil { tracer := client.RequestInspector client.RequestInspector = func(p autorest.Preparer) autorest.Preparer { p = tracer(p) p = requestInspector(p) return p } } }
// Use a Client Inspector to set the request identifier. func ExampleWithClientID() { uuid := "71FDB9F4-5E49-4C12-B266-DE7B4FD999A6" req, _ := autorest.Prepare(&http.Request{}, autorest.AsGet(), autorest.WithBaseURL("https://microsoft.com/a/b/c/")) c := autorest.Client{Sender: mocks.NewSender()} c.RequestInspector = WithReturningClientID(uuid) autorest.SendWithSender(c, req) fmt.Printf("Inspector added the %s header with the value %s\n", HeaderClientID, req.Header.Get(HeaderClientID)) fmt.Printf("Inspector added the %s header with the value %s\n", HeaderReturnClientID, req.Header.Get(HeaderReturnClientID)) // Output: // Inspector added the x-ms-client-request-id header with the value 71FDB9F4-5E49-4C12-B266-DE7B4FD999A6 // Inspector added the x-ms-return-client-request-id header with the value true }