Whether a request is the analytics family — the one classification of the
analytics request kind. The URL alone decides it, never a request field: an
analytics host (the two origins above), or the legacy logging endpoint's own
host and path. Every consumer reads it from here — the Android and iOS header
edges, the HTTP layer, the Pigeon upload owner — so the family cannot be
classified one way for headers and another for answers. The HTTP layer keeps
these hosts' answers away from the session-header parser and from the
Instagram error mapping (handleRequest): an analytics answer, even one
shaped like a checkpoint, changes no session state. The routing-map fetch
shares graph.instagram.com: its answers are not the API's either, and the
zero-phase model reads a rejected map from the response body, not from a
typed error.
Whether a request is the analytics family — the one classification of the analytics request kind. The URL alone decides it, never a request field: an analytics host (the two origins above), or the legacy logging endpoint's own host and path. Every consumer reads it from here — the Android and iOS header edges, the HTTP layer, the Pigeon upload owner — so the family cannot be classified one way for headers and another for answers. The HTTP layer keeps these hosts' answers away from the session-header parser and from the Instagram error mapping (
handleRequest): an analytics answer, even one shaped like a checkpoint, changes no session state. The routing-map fetch sharesgraph.instagram.com: its answers are not the API's either, and the zero-phase model reads a rejected map from the response body, not from a typed error.