A Fetcher implementation using the Cloudflare TCP Sockets API.
npm install cloudflare-tcp-fetcher
You can also input the TcpFetcher in the init
object to reuse a connection.
import { fetchUsingTcp } from "cloudflare-tcp-fetcher";
export default {
async fetch(request: Request, env: never, ctx: ExecutionContext): Promise<Response> {
return fetchUsingTcp("https://google.com", {
method: "GET"
});
}
}
You can re-use the TcpFetcher class until the worker is closed.
Note: you can not use the
TcpFetcher
instance withfetch
because the worker will complain thatTcpFetcher
is not an instance ofFetcher
:/
import { TcpFetcher } from "cloudflare-tcp-fetcher";
export default {
async fetch(request: Request, env: never, ctx: ExecutionContext): Promise<Response> {
const fetcher = new TcpFetcher();
return fetcher.fetch(new Request("https://google.com", {
method: "GET"
}));
}
}
import { fetchUsingTcp } from "cloudflare-tcp-fetcher";
export default {
async fetch(request: Request, env: never, ctx: ExecutionContext): Promise<Response> {
const response = await fetchUsingTcp("https://httpbin.org/delete", {
method: "DELETE"
});
return Response.json({
result: await response.json()
});
}
}