Package akka.http.impl.model.parser
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
ConstructorDescriptionUriParser
(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 TypeMethodDescriptionakka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> scala.runtime.Nothing$
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> fragment()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> host()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> akka.parboiled2.ParserInput
input()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> ipv4Host()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> ipv6Host()
int
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> origin()
parseSafeRawQueryString
(String rawQueryString) akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> pchar()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> port()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.$colon$colon<Uri.Query, akka.parboiled2.support.hlist.HNil>> query()
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> scheme()
akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,
akka.parboiled2.support.hlist.HNil> segment()
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> userinfo()
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
-
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
- Specified by:
sb
in interfaceStringBuilding
-
uriParsingCharset
-
uriParsingMode
-
maxValueStackSize
public int maxValueStackSize() -
input
public akka.parboiled2.ParserInput input()- Specified by:
input
in classakka.parboiled2.Parser
-
parseAbsoluteUri
-
parseUriReference
-
parseAndResolveUriReference
-
parseOrigin
-
parseHost
-
parseRawQueryString
- Returns:
- a 'raw' (percent-encoded) query string that does not contain invalid characters.
-
parseSafeRawQueryString
- 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
-
parseAuthority
-
fail
-
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, query()akka.parboiled2.support.hlist.HNil>> -
fragment
public akka.parboiled2.Rule<akka.parboiled2.support.hlist.HNil,akka.parboiled2.support.hlist.HNil> fragment() -
parseHttpRequestTarget
-
parseHttp2AuthorityPseudoHeader
-
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
-