Class LanguageNegotiator

java.lang.Object
akka.http.scaladsl.server.LanguageNegotiator

public final class LanguageNegotiator extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
    LanguageNegotiator(scala.collection.immutable.Seq<HttpHeader> requestHeaders)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    scala.collection.immutable.List<LanguageRange>
    The language-ranges accepted by the client according to given request headers, sorted by 1. increasing generality (i.e. most specific first) 2. decreasing q-value (only for ranges targeting a single Language) 3. order of appearance in the Accept-Language header(s)
    apply(scala.collection.immutable.Seq<HttpHeader> requestHeaders)
     
    boolean
    isAccepted(Language language)
    Determines whether the given language is accepted by the client.
    scala.Option<Language>
    pickLanguage(scala.collection.immutable.List<Language> alternatives)
    Picks the best of the given language alternatives given the preferences the client indicated in the request's Accept-Language headers.
    float
    qValueFor(Language language)
    Returns the q-value that the client (implicitly or explicitly) attaches to the given language.

    Methods inherited from class java.lang.Object

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

    • LanguageNegotiator

      public LanguageNegotiator(scala.collection.immutable.Seq<HttpHeader> requestHeaders)
  • Method Details

    • apply

      public static LanguageNegotiator apply(scala.collection.immutable.Seq<HttpHeader> requestHeaders)
    • acceptedLanguageRanges

      public scala.collection.immutable.List<LanguageRange> acceptedLanguageRanges()
      The language-ranges accepted by the client according to given request headers, sorted by 1. increasing generality (i.e. most specific first) 2. decreasing q-value (only for ranges targeting a single Language) 3. order of appearance in the Accept-Language header(s)
      Returns:
      (undocumented)
    • qValueFor

      public float qValueFor(Language language)
      Returns the q-value that the client (implicitly or explicitly) attaches to the given language. See http://tools.ietf.org/html/rfc7231#section-5.3.1 for details.
      Parameters:
      language - (undocumented)
      Returns:
      (undocumented)
    • isAccepted

      public boolean isAccepted(Language language)
      Determines whether the given language is accepted by the client.
      Parameters:
      language - (undocumented)
      Returns:
      (undocumented)
    • pickLanguage

      public scala.Option<Language> pickLanguage(scala.collection.immutable.List<Language> alternatives)
      Picks the best of the given language alternatives given the preferences the client indicated in the request's Accept-Language headers. See http://tools.ietf.org/html/rfc7231#section-5.3.5 for details on the negotiation logic.

      If there are several best language alternatives that the client has equal preference for the order of the given alternatives is used as a tie breaker (first one wins).

      If none of the given alternatives is acceptable to the client the methods return None.

      Parameters:
      alternatives - (undocumented)
      Returns:
      (undocumented)