Package brave.http

Class HttpAdapter<Req,​Resp>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract java.lang.String method​(Req request)
      The HTTP method, or verb, such as "GET" or "POST" or null if unreadable.
      java.lang.String methodFromResponse​(Resp resp)
      Like method(Object) except used in response parsing.
      java.lang.String path​(Req request)
      The absolute http path, without any query parameters or null if unreadable.
      abstract java.lang.String requestHeader​(Req request, java.lang.String name)
      Returns one value corresponding to the specified header, or null.
      java.lang.String route​(Resp response)
      Returns an expression such as "/items/:itemId" representing an application endpoint, conventionally associated with the tag key "http.route".
      abstract java.lang.Integer statusCode​(Resp response)
      The HTTP status code or null if unreadable.
      int statusCodeAsInt​(Resp response)
      Like statusCode(Object) except returns a primitive where zero implies absent.
      abstract java.lang.String url​(Req request)
      The entire URL, including the scheme, host and query parameters if available or null if unreadable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • method

        @Nullable
        public abstract java.lang.String method​(Req request)
        The HTTP method, or verb, such as "GET" or "POST" or null if unreadable.

        Conventionally associated with the key "http.method"

      • path

        @Nullable
        public java.lang.String path​(Req request)
        The absolute http path, without any query parameters or null if unreadable. Ex. "/objects/abcd-ff"

        Conventionally associated with the key "http.path"

        See Also:
        route(Object)
      • url

        @Nullable
        public abstract java.lang.String url​(Req request)
        The entire URL, including the scheme, host and query parameters if available or null if unreadable.

        Conventionally associated with the key "http.url"

      • requestHeader

        @Nullable
        public abstract java.lang.String requestHeader​(Req request,
                                                       java.lang.String name)
        Returns one value corresponding to the specified header, or null.
      • methodFromResponse

        @Nullable
        public java.lang.String methodFromResponse​(Resp resp)
        Like method(Object) except used in response parsing.

        Notably, this is used to create a route-based span name.

      • route

        @Nullable
        public java.lang.String route​(Resp response)
        Returns an expression such as "/items/:itemId" representing an application endpoint, conventionally associated with the tag key "http.route". If no route matched, "" (empty string) is returned. Null indicates this instrumentation doesn't understand http routes.

        Eventhough the route is associated with the request, not the response, this is present on the response object. The reasons is that many server implementations process the request before they can identify the route route.

      • statusCode

        @Nullable
        public abstract java.lang.Integer statusCode​(Resp response)
        The HTTP status code or null if unreadable.

        Conventionally associated with the key "http.status_code"

        See Also:
        statusCodeAsInt(Object)
      • statusCodeAsInt

        public int statusCodeAsInt​(Resp response)
        Like statusCode(Object) except returns a primitive where zero implies absent.

        Using this method usually avoids allocation, so is encouraged when parsing data.