Class VespaHeaders


  • public final class VespaHeaders
    extends java.lang.Object
    Static helper methods which implement the mapping between the ErrorMessage API and HTTP headers and return codes.
    Author:
    Einar M R Rosenvinge, Steinar Knutsen, Simon Thoresen Hult, bratseth
    • Constructor Summary

      Constructors 
      Constructor Description
      VespaHeaders()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean benchmarkCoverage​(boolean benchmarkOutput, com.yahoo.jdisc.HeaderFields headers)  
      static boolean benchmarkOutput​(HttpRequest request)
      Returns true if this is a benchmarking request, according to headers
      static void benchmarkOutput​(com.yahoo.jdisc.HeaderFields responseHeaders, boolean benchmarkCoverage, Timing t, com.yahoo.container.logging.HitCounts c, int errorCount, Coverage coverage)
      Add search benchmark output to the HTTP getHeaders
      static int getEagerErrorStatus​(com.yahoo.processing.request.ErrorMessage mainError, java.util.Iterator<? extends com.yahoo.processing.request.ErrorMessage> allErrors)
      Returns 5xx or 4xx if there is any error present in the result, 200 otherwise
      static int getStatus​(boolean isSuccess, com.yahoo.processing.request.ErrorMessage mainError, java.util.Iterator<? extends com.yahoo.processing.request.ErrorMessage> allErrors)
      (during normal execution) return 200 unless this is not a success or a 4xx error is requested.
      • Methods inherited from class java.lang.Object

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

      • VespaHeaders

        public VespaHeaders()
    • Method Detail

      • benchmarkCoverage

        public static boolean benchmarkCoverage​(boolean benchmarkOutput,
                                                com.yahoo.jdisc.HeaderFields headers)
      • benchmarkOutput

        public static boolean benchmarkOutput​(HttpRequest request)
        Returns true if this is a benchmarking request, according to headers
      • benchmarkOutput

        public static void benchmarkOutput​(com.yahoo.jdisc.HeaderFields responseHeaders,
                                           boolean benchmarkCoverage,
                                           Timing t,
                                           com.yahoo.container.logging.HitCounts c,
                                           int errorCount,
                                           Coverage coverage)
        Add search benchmark output to the HTTP getHeaders
        Parameters:
        responseHeaders - The response to write the headers to.
        benchmarkCoverage - True to include coverage headers.
        t - The Timing to read data from.
        c - The Counts to read data from.
        errorCount - The error count.
        coverage - The Coverage to read data from.
      • getStatus

        public static int getStatus​(boolean isSuccess,
                                    com.yahoo.processing.request.ErrorMessage mainError,
                                    java.util.Iterator<? extends com.yahoo.processing.request.ErrorMessage> allErrors)
        (during normal execution) return 200 unless this is not a success or a 4xx error is requested.
        Parameters:
        isSuccess - Whether or not the response represents a success.
        mainError - The main error of the response, if any.
        allErrors - All the errors of the response, if any.
        Returns:
        The status code of the given response.
      • getEagerErrorStatus

        public static int getEagerErrorStatus​(com.yahoo.processing.request.ErrorMessage mainError,
                                              java.util.Iterator<? extends com.yahoo.processing.request.ErrorMessage> allErrors)
        Returns 5xx or 4xx if there is any error present in the result, 200 otherwise
        Parameters:
        mainError - The main error of the response.
        allErrors - All the errors of the response, if any.
        Returns:
        The error status code of the given response.