minor edits to http constants to support future spec compliance

This commit is contained in:
Mya 2022-12-19 12:15:52 -06:00
parent 1c628d975c
commit 5db48b5b61
No known key found for this signature in database
GPG Key ID: C3ECFA648DAD27FA

@ -28,10 +28,10 @@ import (
)
const (
// TraceIDHeader is a string constant that defines a common key used to propagate an okit trace.
TraceIDHeader = "x-okit-trace-id"
// SpanIDHeader is a string constant that defines a common key used to propagate the parent span.
SpanIDHeader = "x-okit-span-id"
// OkitTraceIDHeader is a string constant that defines a common key used to propagate an okit trace.
OkitTraceIDHeader = "x-okit-trace-id"
// OkitSpanIDHeader is a string constant that defines a common key used to propagate the parent span.
OkitSpanIDHeader = "x-okit-span-id"
)
// InstrumentClient updates the provided http.Client to use an instrumented http.RoundTripper. If the provided
@ -66,10 +66,12 @@ func (r *roundTripper) RoundTrip(req *http.Request) (resp *http.Response, err er
defer okit.Trace(&ctx, tags...).Done()
// propagate to server
// TODO: support spec compliant propagation
if v := ctx.Value(okit.SpanKey); v != nil {
if span, ok := v.(okit.Span); ok {
req.Header.Set(TraceIDHeader, span.TraceID)
req.Header.Set(SpanIDHeader, span.ID)
req.Header.Set(OkitTraceIDHeader, span.TraceID)
req.Header.Set(OkitSpanIDHeader, span.ID)
}
}
@ -98,8 +100,8 @@ func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
// propagation from client
traceID := r.Header.Get(TraceIDHeader)
spanID := r.Header.Get(SpanIDHeader)
traceID := r.Header.Get(OkitTraceIDHeader)
spanID := r.Header.Get(OkitSpanIDHeader)
if traceID != "" && spanID != "" {
ctx = context.WithValue(ctx, okit.SpanKey, okit.Span{
TraceID: traceID,