Skip to content

Fastly ClientInfo #90

Open
Open

Description

@aram356

Description

Complete Fastly population of the portable ClientInfo contract. Fastly request conversion already reads get_client_ip_addr() into Fastly request context; geolocation and TLS facts are not mapped into a shared metadata API. The raw request-extension hook is a useful seam, but requires application-owned types and does not itself implement ClientInfo.

Steps to reproduce

  1. Inspect FastlyRequestContext and convert_request.
  2. Identify the captured fields and their handler access path.
  3. Look for built-in portable geolocation and TLS metadata population.

Expected behavior

Fastly handlers receive available client IP/geolocation/TLS facts through the shared metadata contract.

Impact

Only client IP has built-in adapter metadata; richer facts require custom Fastly integration.

Proposed fix

Map Fastly request client APIs into the shared contract from #89, preserving runtime availability and provenance. Reuse the existing conversion seam and keep the separate JA4 acceptance in #283 explicit.

Done when

  • Existing client-IP access is preserved through the shared API.
  • Available geolocation/TLS values are captured and unavailable values remain absent.
  • Fastly runtime contract tests cover populated and missing metadata.

Related

Parent #88; story #89; fingerprint follow-up #283. Merged PR #306 supplies an application-defined raw request hook, not a standard ClientInfo implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions