Hello,
Sometimes my worker throws an exception “Network connection lost.”, I got it in the wrangler tail:
{"outcome":"ok","scriptName":null,"exceptions":[{"name":"Error","message":"Network connection lost.","timestamp":1626639666788}],"logs":[{"message":["Using cache: False"],"level":"log","timestamp":1626639666745}],"eventTimestamp":1626639666740,"event":{"request":{"url":"MY_URL","method":"GET","headers":{"accept":"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*","accept-charset":"iso-8859-1,utf-8;q=0.9,*;q=0.1","accept-encoding":"gzip","accept-language":"en","cf-connecting-ip":"CLIENT_IP","cf-int-smart-routing-table-id":"100","cf-ipcountry":"US","cf-ray":"REDACTED","cf-visitor":"{\"scheme\":\"http\"}","connection":"Keep-Alive","cookie":"REDACTED","host":"MY_URL","pragma":"no-cache","user-agent":"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)","x-forwarded-proto":"http","x-real-ip":"CLIENT_IP"},"cf":{"clientTcpRtt":1,"longitude":"REDACTED","httpProtocol":"HTTP/1.1","tlsCipher":"","continent":"NA","asn":REDACTED,"country":"US","tlsClientAuth":{"certIssuerDNLegacy":"","certIssuerSKI":"","certSubjectDNRFC2253":"","certSubjectDNLegacy":"","certFingerprintSHA256":"","certNotBefore":"","certSKI":"","certSerial":"","certIssuerDN":"","certVerified":"NONE","certNotAfter":"","certSubjectDN":"","certPresented":"0","certRevoked":"0","certIssuerSerial":"","certIssuerDNRFC2253":"","certFingerprintSHA1":""},"tlsVersion":"","colo":"IAD","timezone":"America/New_York","region":"Virginia","requestPriority":"","latitude":"REDACTED","city":"Ashburn","regionCode":"VA","postalCode":"REDACTED","metroCode":"REDACTED","edgeRequestKeepAliveStatus":1}}}}
This worker fetches the content from AWS S3 bucket, I have added a catch on fetch, but the code on catch is not executed, looks like it’s an error in the CloudFlare or client side.
request = await fetch(urlToRequest,{
method: "GET",
redirect: "follow"
}).catch(error => {
const message = `urlToRequest: ${urlToRequest}, Error from fetch: ${error}`
console.log(`There has been a problem with fetch operation! ${message}`);
event.waitUntil(logDatadog("fetchError", message, "null"));
});
Can someone help me? Thanks