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= 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 To: ~netlandish/links-dev@lists.code.netlandish.com Cc: Peter Sanchez 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