Class UriParser

java.lang.Object
akka.parboiled2.RuleDSL
akka.parboiled2.Parser
akka.http.impl.model.parser.UriParser
All Implemented Interfaces:
IpAddressParsing, StringBuilding, akka.parboiled2.ParserMacroMethods, akka.parboiled2.RuleDSLActions, akka.parboiled2.RuleDSLBasics, akka.parboiled2.RuleDSLCombinators

public final class UriParser extends akka.parboiled2.Parser implements IpAddressParsing, StringBuilding
INTERNAL API

http://tools.ietf.org/html/rfc3986

  • Nested Class Summary

    Nested classes/interfaces inherited from class akka.parboiled2.Parser

    akka.parboiled2.Parser.__SubParserInput, akka.parboiled2.Parser.AlternativeDeliverySchemes, akka.parboiled2.Parser.CutError$, akka.parboiled2.Parser.DeliveryScheme<L extends akka.parboiled2.support.hlist.HList>, akka.parboiled2.Parser.DeliveryScheme$, akka.parboiled2.Parser.Fail, akka.parboiled2.Parser.Mark, akka.parboiled2.Parser.Mark$, akka.parboiled2.Parser.StartTracingException$, akka.parboiled2.Parser.TracingBubbleException, akka.parboiled2.Parser.UnquietMismatch$

    Nested classes/interfaces inherited from interface akka.parboiled2.RuleDSLActions

    akka.parboiled2.RuleDSLActions.ActionOperator<I extends akka.parboiled2.support.hlist.HList,O extends akka.parboiled2.support.hlist.HList,Ops extends Object>

    Nested classes/interfaces inherited from interface akka.parboiled2.RuleDSLBasics

    akka.parboiled2.RuleDSLBasics.CharRangeSupport

    Nested classes/interfaces inherited from interface akka.parboiled2.RuleDSLCombinators

    akka.parboiled2.RuleDSLCombinators.NTimes, akka.parboiled2.RuleDSLCombinators.WithSeparatedBy<I extends akka.parboiled2.support.hlist.HList,O extends akka.parboiled2.support.hlist.HList>
  • Constructor Summary

    Constructors
    Constructor
    Description
    UriParser(akka.parboiled2.ParserInput input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode)
     
    UriParser(akka.parboiled2.ParserInput _input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode, int maxValueStackSize)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    scala.runtime.Nothing$
    fail(akka.parboiled2.ParseError error, String target)
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.ParserInput
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    int
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
     
     
     
     
     
    scala.Tuple2<Uri.Path,scala.Option<String>>
     
     
     
     
     
     
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.$colon$colon<Uri.Query,akka.parboiled2.support.hlist.HNil>>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
    A relaxed host rule to use in `parseHost` that also recognizes IPv6 address without the brackets.
    void
    reset(akka.parboiled2.ParserInput newInput)
    Allows to reuse this parser.
    protected StringBuilder
    sb()
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
    URI()
     
     
     
    akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil>
     

    Methods inherited from class akka.parboiled2.Parser

    __advance, __bubbleUp, __bubbleUp, __enterAtomic, __enterNotPredicate, __enterQuiet, __exitAtomic, __exitNotPredicate, __exitQuiet, __hardFail, __inErrorAnalysis, __matchAnyOf, __matchAnyOf$default$2, __matchIgnoreCaseString, __matchIgnoreCaseString$default$2, __matchIgnoreCaseStringWrapped, __matchIgnoreCaseStringWrapped$default$2, __matchMap, __matchMapWrapped, __matchNoneOf, __matchNoneOf$default$2, __matchString, __matchString$default$2, __matchStringWrapped, __matchStringWrapped$default$2, __push, __registerMismatch, __restoreState, __run, __saveState, __subParserInput, __updateMaxCursor, $lessinit$greater$default$1, $lessinit$greater$default$2, akka$parboiled2$Parser$$_cursor, akka$parboiled2$Parser$$phase, charAt, charAtRC, copyStateFrom, cursor, cursorChar, errorTraceCollectionLimit, formatError, formatError$default$2, lastChar, valueStack

    Methods inherited from class akka.parboiled2.RuleDSL

    $amp, ANY, anyOf, atomic, capture, ch, drop, EOI, fail, failX, ignoreCase, ignoreCase, int2NTimes, MATCH, MISMATCH, MISMATCH0, noneOf, oneOrMore, optional, predicate, push, quiet, range2NTimes, rule2ActionOperator, rule2WithSeparatedBy, run, runSubParser, str, str2CharRangeSupport, test, valueMap, valueMap, valueMap$default$2, zeroOrMore

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface akka.http.impl.model.parser.StringBuilding

    appendSB, appendSB, appendSB, appendSB, clearSB, doPrepend, doPrepend, doSet, prependSB, prependSB, prependSB, prependSB, setSB
  • Constructor Details

    • UriParser

      public UriParser(akka.parboiled2.ParserInput _input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode, int maxValueStackSize)
    • UriParser

      public UriParser(akka.parboiled2.ParserInput input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode)
  • Method Details

    • sb

      protected StringBuilder sb()
      Specified by:
      sb in interface StringBuilding
    • uriParsingCharset

      public Charset uriParsingCharset()
    • uriParsingMode

      public Uri.ParsingMode uriParsingMode()
    • maxValueStackSize

      public int maxValueStackSize()
    • input

      public akka.parboiled2.ParserInput input()
      Specified by:
      input in class akka.parboiled2.Parser
    • parseAbsoluteUri

      public Uri parseAbsoluteUri()
    • parseUriReference

      public Uri parseUriReference()
    • parseAndResolveUriReference

      public Uri parseAndResolveUriReference(Uri base)
    • parseOrigin

      public HttpOrigin parseOrigin()
    • parseHost

      public Uri.Host parseHost()
    • parseRawQueryString

      public String parseRawQueryString()
      Returns:
      a 'raw' (percent-encoded) query string that does not contain invalid characters.
    • parseSafeRawQueryString

      public String parseSafeRawQueryString(String rawQueryString)
      Parameters:
      rawQueryString - 'raw' (percent-encoded) query string that in Relaxed mode may contain characters not allowed by https://tools.ietf.org/html/rfc3986#section-3.4 but is guaranteed not to have invalid percent-encoded characters
      Returns:
      a 'raw' (percent-encoded) query string that does not contain invalid characters.
    • parseQuery

      public Uri.Query parseQuery()
    • parseAuthority

      public Uri.Authority parseAuthority()
    • fail

      public scala.runtime.Nothing$ fail(akka.parboiled2.ParseError error, String target)
    • reset

      public void reset(akka.parboiled2.ParserInput newInput)
      Allows to reuse this parser.
    • URI

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> URI()
    • origin

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> origin()
    • scheme

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> scheme()
    • authority

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> authority()
    • userinfo

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> userinfo()
    • hostAndPort

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> hostAndPort()
    • host

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> host()
    • relaxedHost

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> relaxedHost()
      A relaxed host rule to use in `parseHost` that also recognizes IPv6 address without the brackets.
    • port

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> port()
    • ipv4Host

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> ipv4Host()
    • ipv6Host

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> ipv6Host()
    • slashSegments

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> slashSegments()
    • segment

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> segment()
    • pchar

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> pchar()
    • rawQueryString

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> rawQueryString()
    • query

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.$colon$colon<Uri.Query,akka.parboiled2.support.hlist.HNil>> query()
    • fragment

      public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> fragment()
    • parseHttpRequestTarget

      public Uri parseHttpRequestTarget()
    • parseHttp2AuthorityPseudoHeader

      public Uri.Authority parseHttp2AuthorityPseudoHeader()
    • parseHttp2PathPseudoHeader

      public scala.Tuple2<Uri.Path,scala.Option<String>> parseHttp2PathPseudoHeader()
      Returns:
      path and percent-encoded query string. When in in 'relaxed' mode, characters not permitted by https://tools.ietf.org/html/rfc3986#section-3.4 are already automatically percent-encoded here