@@ -0,0 +1,1222 @@
+package com.uber.tchannel.tracing;%0A%0Aimport com.uber.tchannel.messages.Request;%0Aimport io.opentracing.Span;%0Aimport org.jetbrains.annotations.NotNull;%0A%0A/**%0A * A %7B@link TracingContext%7D implementation decorated with this interface will get an option to intercept the inbound or%0A * outgoing request right after the tracing %7B@link Span%7D has been created.%0A */%0Apublic interface RequestSpanInterceptor %7B%0A%0A    /**%0A     * This method will be invoked right after the inbound request span has been created, allowing the implementation%0A     * to inspect the request and/or additional baggage from the span context.%0A     *%0A     * @throws RuntimeException%0A     *     if the inbound request should fail immediately%0A     */%0A    void interceptInbound(@NotNull Request request, @NotNull Span span) throws RuntimeException;%0A%0A    /**%0A     * This method will be invoked right after the outgoing request span has been created, allowing the implementation%0A     * to inspect the request and/or attach additional baggage to the span context.%0A     *%0A     * @throws RuntimeException%0A     *     if the outbound request should fail immediately%0A     */%0A    void interceptOutbound(@NotNull Request request, @NotNull Span span) throws RuntimeException;%0A%0A%7D%0A

Add request span interceptors