Class UriParser
java.lang.Object
org.parboiled2.RuleDSL
org.parboiled2.Parser
org.apache.pekko.http.impl.model.parser.UriParser
- All Implemented Interfaces:
- IpAddressParsing,- org.parboiled2.ParserMacroMethods,- org.parboiled2.RuleDSLActions,- org.parboiled2.RuleDSLBasics,- org.parboiled2.RuleDSLCombinators,- org.parboiled2.StringBuilding
public final class UriParser
extends org.parboiled2.Parser
implements IpAddressParsing, org.parboiled2.StringBuilding
INTERNAL API
 
http://tools.ietf.org/html/rfc3986
- 
Nested Class SummaryNested classes/interfaces inherited from class org.parboiled2.Parserorg.parboiled2.Parser.__SubParserInput, org.parboiled2.Parser.AlternativeDeliverySchemes, org.parboiled2.Parser.CutError$, org.parboiled2.Parser.DeliveryScheme<L extends org.parboiled2.support.hlist.HList>, org.parboiled2.Parser.DeliveryScheme$, org.parboiled2.Parser.Fail, org.parboiled2.Parser.Mark, org.parboiled2.Parser.Mark$, org.parboiled2.Parser.StartTracingException$, org.parboiled2.Parser.TracingBubbleException, org.parboiled2.Parser.UnquietMismatch$Nested classes/interfaces inherited from interface org.parboiled2.RuleDSLActionsorg.parboiled2.RuleDSLActions.ActionOperator<I extends org.parboiled2.support.hlist.HList,O extends org.parboiled2.support.hlist.HList, Ops extends Object> Nested classes/interfaces inherited from interface org.parboiled2.RuleDSLBasicsorg.parboiled2.RuleDSLBasics.CharRangeSupportNested classes/interfaces inherited from interface org.parboiled2.RuleDSLCombinatorsorg.parboiled2.RuleDSLCombinators.NTimes, org.parboiled2.RuleDSLCombinators.WithSeparatedBy<I extends org.parboiled2.support.hlist.HList,O extends org.parboiled2.support.hlist.HList> 
- 
Constructor SummaryConstructorsConstructorDescriptionUriParser(org.parboiled2.ParserInput input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode) UriParser(org.parboiled2.ParserInput _input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode, int maxValueStackSize) 
- 
Method SummaryModifier and TypeMethodDescriptionorg.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> scala.runtime.Nothing$org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> fragment()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> host()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> org.parboiled2.ParserInputinput()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> ipv4Host()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> ipv6Host()intorg.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> origin()parseSafeRawQueryString(String rawQueryString) org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> pchar()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> port()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.$colon$colon<Uri.Query, org.parboiled2.support.hlist.HNil>> query()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> A relaxed host rule to use in `parseHost` that also recognizes IPv6 address without the brackets.voidreset(org.parboiled2.ParserInput newInput) Allows to reuse this parser.protected StringBuildersb()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> scheme()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> segment()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> URI()org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> userinfo()Methods inherited from class org.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, charAt, charAtRC, copyStateFrom, cursor, cursorChar, errorTraceCollectionLimit, formatError, formatError$default$2, lastChar, org$parboiled2$Parser$$_cursor, org$parboiled2$Parser$$phase, valueStackMethods inherited from class org.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, zeroOrMoreMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.parboiled2.StringBuildingappendSB, appendSB, appendSB, appendSB, clearSB, org$parboiled2$StringBuilding$_setter_$sb_$eq, prependSB, prependSB, prependSB, prependSB, setSB
- 
Constructor Details- 
UriParserpublic UriParser(org.parboiled2.ParserInput _input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode, int maxValueStackSize) 
- 
UriParserpublic UriParser(org.parboiled2.ParserInput input, Charset uriParsingCharset, Uri.ParsingMode uriParsingMode) 
 
- 
- 
Method Details- 
sb- Specified by:
- sbin interface- org.parboiled2.StringBuilding
 
- 
uriParsingCharset
- 
uriParsingMode
- 
maxValueStackSizepublic int maxValueStackSize()
- 
inputpublic org.parboiled2.ParserInput input()- Specified by:
- inputin class- org.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
- 
resetpublic void reset(org.parboiled2.ParserInput newInput) Allows to reuse this parser.
- 
URIpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> URI()
- 
originpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> origin()
- 
schemepublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> scheme()
- 
authoritypublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> authority()
- 
userinfopublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> userinfo()
- 
hostAndPortpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> hostAndPort()
- 
hostpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> host()
- 
relaxedHostpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> relaxedHost()A relaxed host rule to use in `parseHost` that also recognizes IPv6 address without the brackets.
- 
portpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> port()
- 
ipv4Hostpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> ipv4Host()
- 
ipv6Hostpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> ipv6Host()
- 
slashSegmentspublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> slashSegments()
- 
segmentpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> segment()
- 
pcharpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> pchar()
- 
rawQueryStringpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.HNil> rawQueryString()
- 
querypublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.parboiled2.support.hlist.$colon$colon<Uri.Query, query()org.parboiled2.support.hlist.HNil>> 
- 
fragmentpublic org.parboiled2.Rule<org.parboiled2.support.hlist.HNil,org.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
 
 
-