v0.1.0 · Interface
http-downstream
HTTP downstream requests and metadata. “Downstream” here refers to incoming HTTP requests.
Type Aliases
T
error
TA common error type used by many functions in this package.
ip-address
TIPv4 or IPv6 addresses.
request
TAn HTTP request.
client-cert-verify-result
TTLS client certificate verified result from downstream.
error-with-detail
TAn <code>error</code> code, optionally with extra request error information.
cache-override
TOptional override for response caching behavior.
pending-request
TAn object supporting generic async operations.
request-with-body
Functions
F
next-request
FPrepares to accept a new downstream request.
await-request
FWaits until the next request is available, and then returns the resulting
downstream-original-header-names
FReturns the client request's header names exactly as they were originally received.
downstream-original-header-count
FReturns the number of headers in the client request as originally received.
downstream-client-ip-addr
FReturns the IP address of the client making the HTTP request, if known.
downstream-server-ip-addr
FReturns the IP address on which this server received the HTTP request, if known.
downstream-client-h2-fingerprint
FGets the HTTP/2 fingerprint of client request if available.
downstream-client-request-id
FGets the id of the current request if available.
downstream-client-oh-fingerprint
FGets the fingerprint of client request headers if available.
downstream-client-ddos-detected
FReturns whether the request was tagged as contributing to a DDoS attack.
downstream-tls-cipher-openssl-name
FGets the cipher suite used to secure the downstream client TLS connection.
downstream-tls-protocol
FGets the TLS protocol version used to secure the downstream client TLS connection.
downstream-tls-client-hello
FGets the raw bytes sent by the client in the TLS ClientHello message.
downstream-tls-raw-client-certificate
FGets the raw client certificate used to secure the downstream client mTLS connection.
downstream-tls-client-cert-verify-result
FReturns the <code>client-cert-verify-result</code> from the downstream client mTLS handshake.
downstream-tls-client-servername
FReturns the Server Name Indication from the downstream client TLS handshake.
downstream-tls-ja3-md5
FGets the JA3 hash of the TLS ClientHello message.
downstream-tls-ja4
FGets the JA4 hash of the TLS ClientHello message.
downstream-compliance-region
FGets the compliance region that the client IP address is in.
fastly-key-is-valid
FReturns whether or not the original client request arrived with a
downstream-bot-analyzed
FWhether bot detection analysis was performed for this request.
downstream-bot-detected
FWhether a bot was detected in the request.
downstream-bot-name
FA string identifying the specific bot detected (e.g., <code>GoogleBot</code>, <code>GPTBot</code>, <code>Bingbot</code>).
downstream-bot-category
FA string indicating the type of bot detected (e.g., <code>SEARCH-ENGINE-CRAWLER</code>, <code>AI-CRAWLER</code>, <code>SUSPECTED-BOT</code>).
downstream-bot-category-kind
FA value uniquely identifying the type of bot detected.
downstream-bot-verified
FWhether the detected bot is a verified bot.
downstream-resvpnproxy-is-anonymous
FTrue if the IP range belongs to any kind of anonymous network.
downstream-resvpnproxy-is-anonymous-vpn
FTrue if the IP range is identified as a VPN system.
downstream-resvpnproxy-is-hosting-provider
FTrue if the IP range is identified as a hosting provider.
downstream-resvpnproxy-is-proxy-over-vpn
FTrue if the IP range is detected with a proxy over VPN technique.
downstream-resvpnproxy-is-public-proxy
FTrue if the IP range is identified as a public proxy.
downstream-resvpnproxy-is-relay-proxy
FTrue if the IP belongs to relay service provider.
downstream-resvpnproxy-is-residential-proxy
FTrue if the IP range is detected with residential proxy over VPN technique.
downstream-resvpnproxy-is-smart-dns-proxy
FTrue if the IP range is identified as a Smart DNS Proxy.
downstream-resvpnproxy-is-tor-exit-node
FTrue if the IP range is identified as a Tor exit node.
downstream-resvpnproxy-is-vpn-datacenter
FTrue if the IP range is identified as a VPN datacenter.
downstream-resvpnproxy-vpn-service-name
FVPN service name. Available only if the range is identified as a VPN system.
downstream-visits-this-service
FReturns the number of times we have previously visited this service
downstream-visits-this-pop
Returns the number of times we have previously visited this POP