Received: from mail.netlandish.com (mail.netlandish.com [174.136.98.166])
	by code.netlandish.com (Postfix) with ESMTP id 7948653A
	for <~netlandish/links-dev@lists.code.netlandish.com>; Fri, 07 Mar 2025 21:37:18 +0000 (UTC)
Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.128.180; helo=mail-yw1-f180.google.com; envelope-from=peter@netlandish.com; receiver=<UNKNOWN> 
Authentication-Results: mail.netlandish.com;
	dkim=pass (1024-bit key; unprotected) header.d=netlandish.com header.i=@netlandish.com header.b=mpsK6hZD
Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180])
	by mail.netlandish.com (Postfix) with ESMTP id 1E1A81D643F
	for <~netlandish/links-dev@lists.code.netlandish.com>; Fri, 07 Mar 2025 21:37:15 +0000 (UTC)
Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-6f6ca9a3425so23743507b3.2
        for <~netlandish/links-dev@lists.code.netlandish.com>; Fri, 07 Mar 2025 13:37:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=netlandish.com; s=google; t=1741383435; x=1741988235; darn=lists.code.netlandish.com;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=baU6PJE3NISlTkX/Ro5h5fPtGXCHAo/F53QxEBaITKE=;
        b=mpsK6hZD6qUmXaQnnwmj0NKehNAfEsuwYmfq4AuZ47UyZBMnwyiupGYUXImfGZP1XK
         IXc2//62Dh8g/XSkDcNJOsMQm5lY0ElMAGElTQxTjnS5GS3EwHmmGPN5nVZnkCQYCfig
         P0wV+32n4z4TlsWK40tQvQTtfE0t1NtaSe/fc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741383435; x=1741988235;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=baU6PJE3NISlTkX/Ro5h5fPtGXCHAo/F53QxEBaITKE=;
        b=XwCx4ZrEmM3Me9flzxN5ckZGy3EZrK81Striy48vx0R4CnjwYZ73dx/xCIPzQAtQ14
         1KChnMS9EAuWmVU35fDc/ReVgL3z1nb3jmjBC9SnNb/m3qG9kx9PEYOpaToYkYtu79Qc
         TOdk+ig16YIWxYNv8v4PqTgfdOAE9bmtQSGUJON5REOHwBS0FCz0+l2t4dgUEWOc9yFZ
         Gb68gNwwtDprekr0PkSNJghXrj3ShzVfyhdbyBg0Fc/lSXW2eB49ooKPrMm0C0Ng8NEX
         QfSUorKB96ofX2LGBEiLudFzr/H4HEZD+sS1Z/BbzTsThp7SmVciNMtyPUXk8+D4kplm
         W2pg==
X-Gm-Message-State: AOJu0Yyk3TlqQd+3jUHsScrafYDj3ULU4Oy5mFBpJH07QVv2r6orSIm8
	F7a5gYmjGL4q4Md1gEv7FqGzT+krjYniqc4vdMzT0fd6nVYvBpNk4rAQlLSK0rqMrAM5nwTWdCQ
	5IEM=
X-Gm-Gg: ASbGncud0KSiFuvDrkN/E4px8T9B96iXJnGlMyxUujOYwJ5bs00beA8czTl/YWZ25D6
	pBH2V7V2euNQxSJhw4BR1+g5jrlO4iEVj+vmBZc458lt9UqMdqfXM/6XLI2sSRSOhoXmBZlLskx
	nW4Qeg5qgMqWRa5fHyWoR3jLzipDTyjsr9xlmsQUnfm5N5Ir/AH4RJyEaUCS7juDlSXqWI6GQi7
	J06A9159ApAuwbShQVJp4aQHJdhLDydF8gvrD4DI1qPNF5fFjRxz8DbP1VVOeEa6ZtRibeR5a1q
	Nrv4Ip64YX3qvkRhhS3Rc8OYg42KyrVE9j6Jc9Sgx0LKqA==
X-Google-Smtp-Source: AGHT+IEYPM28I9/+MMAY7UxhsvbxO7G4rRVo0fipU+XxYQ0cUBc32ukhdJIKOUCM2IpMnwxf786/Bg==
X-Received: by 2002:a05:690c:6f12:b0:6fb:3b2b:e73e with SMTP id 00721157ae682-6febf2f7c95mr76115067b3.14.1741383435056;
        Fri, 07 Mar 2025 13:37:15 -0800 (PST)
Received: from localhost ([2803:2d60:1118:5ee:19e7:339e:73ac:5f12])
        by smtp.gmail.com with ESMTPSA id 00721157ae682-6feb2c474adsm9066137b3.113.2025.03.07.13.37.14
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Fri, 07 Mar 2025 13:37:14 -0800 (PST)
From: Peter Sanchez <peter@netlandish.com>
To: ~netlandish/links-dev@lists.code.netlandish.com
Cc: Peter Sanchez <peter@netlandish.com>
Subject: [PATCH links] Add a bot check to avoid annoying error emails.
Date: Fri,  7 Mar 2025 15:37:07 -0600
Message-ID: <20250307213712.1907-1-peter@netlandish.com>
X-Mailer: git-send-email 2.47.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

---
 client.go | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/client.go b/client.go
index ed5e7e2..3bc6a68 100644
--- a/client.go
+++ b/client.go
@@ -4,6 +4,7 @@ import (
 	"context"
 	"fmt"
 	"net/http"
+	"strings"
 	"time"
 
 	"git.sr.ht/~emersion/gqlclient"
@@ -80,9 +81,19 @@ func Execute(ctx context.Context, op *gqlclient.Operation, result interface{}) e
 
 	client = gqlclient.New(origin, httpClient)
 	err := client.Execute(ctx, op, &result)
-	if graphErrors, ok := err.(interface{ Unwrap() []error }); ok {
-		errs := graphErrors.Unwrap()
-		err = errs[0]
+	if err != nil {
+		if graphErrors, ok := err.(interface{ Unwrap() []error }); ok {
+			errs := graphErrors.Unwrap()
+			err = errs[0]
+		} else {
+			estr := err.Error()
+			if strings.HasPrefix(estr, "HTTP request failed:") &&
+				strings.HasSuffix(estr, "context canceled") {
+				// Stupid f'n bots. Return this because gobwebs will not send an error email
+				// for this error
+				return context.Canceled
+			}
+		}
 	}
 	return err
 }
-- 
2.47.2

