v0.1.0 · Interface

http-downstream

HTTP downstream requests and metadata. “Downstream” here refers to incoming HTTP requests.

Functions

F
next-request
Prepares to accept a new downstream request.
F
await-request
Waits until the next request is available, and then returns the resulting
F
downstream-original-header-names
Returns the client request's header names exactly as they were originally received.
F
downstream-original-header-count
Returns the number of headers in the client request as originally received.
F
downstream-client-ip-addr
Returns the IP address of the client making the HTTP request, if known.
F
downstream-server-ip-addr
Returns the IP address on which this server received the HTTP request, if known.
F
downstream-client-h2-fingerprint
Gets the HTTP/2 fingerprint of client request if available.
F
downstream-client-request-id
Gets the id of the current request if available.
F
downstream-client-oh-fingerprint
Gets the fingerprint of client request headers if available.
F
downstream-client-ddos-detected
Returns whether the request was tagged as contributing to a DDoS attack.
F
downstream-tls-cipher-openssl-name
Gets the cipher suite used to secure the downstream client TLS connection.
F
downstream-tls-protocol
Gets the TLS protocol version used to secure the downstream client TLS connection.
F
downstream-tls-client-hello
Gets the raw bytes sent by the client in the TLS ClientHello message.
F
downstream-tls-raw-client-certificate
Gets the raw client certificate used to secure the downstream client mTLS connection.
F
downstream-tls-client-cert-verify-result
Returns the <code>client-cert-verify-result</code> from the downstream client mTLS handshake.
F
downstream-tls-client-servername
Returns the Server Name Indication from the downstream client TLS handshake.
F
downstream-tls-ja3-md5
Gets the JA3 hash of the TLS ClientHello message.
F
downstream-tls-ja4
Gets the JA4 hash of the TLS ClientHello message.
F
downstream-compliance-region
Gets the compliance region that the client IP address is in.
F
fastly-key-is-valid
Returns whether or not the original client request arrived with a
F
downstream-bot-analyzed
Whether bot detection analysis was performed for this request.
F
downstream-bot-detected
Whether a bot was detected in the request.
F
downstream-bot-name
A string identifying the specific bot detected (e.g., <code>GoogleBot</code>, <code>GPTBot</code>, <code>Bingbot</code>).
F
downstream-bot-category
A string indicating the type of bot detected (e.g., <code>SEARCH-ENGINE-CRAWLER</code>, <code>AI-CRAWLER</code>, <code>SUSPECTED-BOT</code>).
F
downstream-bot-category-kind
A value uniquely identifying the type of bot detected.
F
downstream-bot-verified
Whether the detected bot is a verified bot.
F
downstream-resvpnproxy-is-anonymous
True if the IP range belongs to any kind of anonymous network.
F
downstream-resvpnproxy-is-anonymous-vpn
True if the IP range is identified as a VPN system.
F
downstream-resvpnproxy-is-hosting-provider
True if the IP range is identified as a hosting provider.
F
downstream-resvpnproxy-is-proxy-over-vpn
True if the IP range is detected with a proxy over VPN technique.
F
downstream-resvpnproxy-is-public-proxy
True if the IP range is identified as a public proxy.
F
downstream-resvpnproxy-is-relay-proxy
True if the IP belongs to relay service provider.
F
downstream-resvpnproxy-is-residential-proxy
True if the IP range is detected with residential proxy over VPN technique.
F
downstream-resvpnproxy-is-smart-dns-proxy
True if the IP range is identified as a Smart DNS Proxy.
F
downstream-resvpnproxy-is-tor-exit-node
True if the IP range is identified as a Tor exit node.
F
downstream-resvpnproxy-is-vpn-datacenter
True if the IP range is identified as a VPN datacenter.
F
downstream-resvpnproxy-vpn-service-name
VPN service name. Available only if the range is identified as a VPN system.
F
downstream-visits-this-service
Returns the number of times we have previously visited this service
F
downstream-visits-this-pop
Returns the number of times we have previously visited this POP