[WIP] A (somewhat barebones) atproto app for creating custom sites without hosting!

server: add error handling when did resolution fails && add statusText to responses

Changed files
+13 -1
src
+13 -1
src/user.ts
··· 191 191 console.error(e); 192 192 return new Response("Something went wrong loading this route", { 193 193 status: 500, 194 + statusText: "Internal Server Error", 194 195 }); 195 196 } 196 197 } ··· 210 211 } catch { 211 212 return new Response("Failed to resolve handle", { 212 213 status: 500, 214 + statusText: "Internal Server Error", 213 215 }); 214 216 } 215 217 } else did = user.did; 216 218 217 219 // resolve did doc 218 - const doc = await docResolver.resolve(did); 220 + let doc; 221 + try { 222 + doc = await docResolver.resolve(did); 223 + } catch { 224 + return new Response("Could not resolve " + did + ".\n", { 225 + status: 500, 226 + statusText: "Internal Server Error", 227 + }); 228 + } 219 229 220 230 // handle must be in did document 221 231 if ("handle" in user && !doc.alsoKnownAs?.includes(`at://${user.handle}`)) { ··· 223 233 `Provided handle (at://${user.handle}) was not found in the did document for ${did}. Found handles:\n${doc.alsoKnownAs?.map((x) => "- " + x).join("\n") ?? "None"}`, 224 234 { 225 235 status: 500, 236 + statusText: "Internal Server Error", 226 237 } 227 238 ); 228 239 } ··· 239 250 `Could not find a valid pds for ${"handle" in user ? user.handle : user.did}`, 240 251 { 241 252 status: 500, 253 + statusText: "Internal Server Error", 242 254 } 243 255 ); 244 256