From 0b2343b258f8e33db27cf5b3b9132fb390e071ac Mon Sep 17 00:00:00 2001 From: Mircea Suciu Date: Mon, 29 Jul 2024 13:19:42 +0000 Subject: [PATCH] add jsutil.MaybeInt wrapper; apply it to IncomingProperties.Asn --- cloudflare/fetch/property.go | 2 +- internal/jsutil/jsutil.go | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cloudflare/fetch/property.go b/cloudflare/fetch/property.go index 9343785..4596880 100644 --- a/cloudflare/fetch/property.go +++ b/cloudflare/fetch/property.go @@ -184,7 +184,7 @@ func NewIncomingProperties(ctx context.Context) (*IncomingProperties, error) { Latitude: jsutil.MaybeString(cf.Get("latitude")), TLSCipher: jsutil.MaybeString(cf.Get("tlsCipher")), Continent: jsutil.MaybeString(cf.Get("continent")), - Asn: cf.Get("asn").Int(), + Asn: jsutil.MaybeInt(cf.Get("asn")), ClientAcceptEncoding: jsutil.MaybeString(cf.Get("clientAcceptEncoding")), Country: jsutil.MaybeString(cf.Get("country")), TLSClientAuth: NewIncomingTLSClientAuth(cf.Get("tlsClientAuth")), diff --git a/internal/jsutil/jsutil.go b/internal/jsutil/jsutil.go index e93a0af..ececd04 100644 --- a/internal/jsutil/jsutil.go +++ b/internal/jsutil/jsutil.go @@ -97,6 +97,14 @@ func MaybeString(v js.Value) string { return v.String() } +// MaybeInt returns int value of given JavaScript value or returns nil if the value is undefined. +func MaybeInt(v js.Value) int { + if v.IsUndefined() { + return 0 + } + return v.Int() +} + // MaybeDate returns time.Time value of given JavaScript Date value or returns nil if the value is undefined. func MaybeDate(v js.Value) (time.Time, error) { if v.IsUndefined() {