@fly/cdn
Version:
Fly's TypeScript CDN
24 lines • 2.43 kB
JavaScript
/**
* @module Backends
*/
/**
* A useful fetch-like function for debugging. Echos request information
* as a JSON response.
* @hidden
* @param req The request to echo
* @param init Request init information
*/
export async function echo(req, init) {
if (typeof req === "string") {
req = new Request(req, init);
init = undefined;
}
const body = {
method: req.method,
url: req.url,
remoteAddr: req.remoteAddr,
headers: req.headers.toJSON()
};
return new Response(JSON.stringify(body, null, "\t"), { headers: { "content-type": "application/json" } });
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNoby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYWNrZW5kcy9lY2hvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0g7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBZ0IsRUFBRSxJQUFrQjtJQUM3RCxJQUFHLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBQztRQUN6QixHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzVCLElBQUksR0FBRyxTQUFTLENBQUE7S0FDakI7SUFFRCxNQUFNLElBQUksR0FBRztRQUNYLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtRQUNsQixHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUc7UUFDWixVQUFVLEVBQUcsR0FBVyxDQUFDLFVBQVU7UUFDbkMsT0FBTyxFQUFHLEdBQUcsQ0FBQyxPQUFlLENBQUMsTUFBTSxFQUFFO0tBQ3ZDLENBQUE7SUFFRCxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBQyxFQUFDLENBQUMsQ0FBQztBQUMxRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIEJhY2tlbmRzXG4gKi9cbi8qKlxuICogQSB1c2VmdWwgZmV0Y2gtbGlrZSBmdW5jdGlvbiBmb3IgZGVidWdnaW5nLiBFY2hvcyByZXF1ZXN0IGluZm9ybWF0aW9uXG4gKiBhcyBhIEpTT04gcmVzcG9uc2UuXG4gKiBAaGlkZGVuXG4gKiBAcGFyYW0gcmVxIFRoZSByZXF1ZXN0IHRvIGVjaG9cbiAqIEBwYXJhbSBpbml0IFJlcXVlc3QgaW5pdCBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWNobyhyZXE6IFJlcXVlc3RJbmZvLCBpbml0PzogUmVxdWVzdEluaXQpe1xuICBpZih0eXBlb2YgcmVxID09PSBcInN0cmluZ1wiKXtcbiAgICByZXEgPSBuZXcgUmVxdWVzdChyZXEsIGluaXQpXG4gICAgaW5pdCA9IHVuZGVmaW5lZFxuICB9XG5cbiAgY29uc3QgYm9keSA9IHtcbiAgICBtZXRob2Q6IHJlcS5tZXRob2QsXG4gICAgdXJsOiByZXEudXJsLFxuICAgIHJlbW90ZUFkZHI6IChyZXEgYXMgYW55KS5yZW1vdGVBZGRyLFxuICAgIGhlYWRlcnM6IChyZXEuaGVhZGVycyBhcyBhbnkpLnRvSlNPTigpXG4gIH1cblxuICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KGJvZHksIG51bGwsIFwiXFx0XCIpLCB7IGhlYWRlcnM6IHtcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIn19KTtcbn0iXX0=