MCPcopy Index your code
hub / github.com/python/cpython / get_obs_route

Function get_obs_route

Lib/email/_header_value_parser.py:1693–1734  ·  view source on GitHub ↗

obs-route = obs-domain-list ":" obs-domain-list = *(CFWS / ",") "@" domain *("," [CFWS] ["@" domain]) Returns an obs-route token with the appropriate sub-tokens (that is, there is no obs-domain-list in the parse tree).

(value)

Source from the content-addressed store, hash-verified

1691 return addr_spec, value
1692
1693def get_obs_route(value):
1694 """ obs-route = obs-domain-list ":"
1695 obs-domain-list = *(CFWS / ",") "@" domain *("," [CFWS] ["@" domain])
1696
1697 Returns an obs-route token with the appropriate sub-tokens (that is,
1698 there is no obs-domain-list in the parse tree).
1699 """
1700 obs_route = ObsRoute()
1701 while value and (value[0]==',' or value[0] in CFWS_LEADER):
1702 if value[0] in CFWS_LEADER:
1703 token, value = get_cfws(value)
1704 obs_route.append(token)
1705 elif value[0] == ',':
1706 obs_route.append(ListSeparator)
1707 value = value[1:]
1708 if not value or value[0] != '@':
1709 raise errors.HeaderParseError(
1710 "expected obs-route domain but found '{}'".format(value))
1711 obs_route.append(RouteComponentMarker)
1712 token, value = get_domain(value[1:])
1713 obs_route.append(token)
1714 while value and value[0]==',':
1715 obs_route.append(ListSeparator)
1716 value = value[1:]
1717 if not value:
1718 break
1719 if value[0] in CFWS_LEADER:
1720 token, value = get_cfws(value)
1721 obs_route.append(token)
1722 if not value:
1723 break
1724 if value[0] == '@':
1725 obs_route.append(RouteComponentMarker)
1726 token, value = get_domain(value[1:])
1727 obs_route.append(token)
1728 if not value:
1729 raise errors.HeaderParseError("end of header while parsing obs-route")
1730 if value[0] != ':':
1731 raise errors.HeaderParseError( "expected ':' marking end of "
1732 "obs-route but found '{}'".format(value))
1733 obs_route.append(ValueTerminal(':', 'end-of-obs-route-marker'))
1734 return obs_route, value[1:]
1735
1736def get_angle_addr(value):
1737 """ angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr

Callers 1

get_angle_addrFunction · 0.85

Calls 6

ObsRouteClass · 0.85
get_cfwsFunction · 0.85
get_domainFunction · 0.85
ValueTerminalClass · 0.85
appendMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…