add connect

This commit is contained in:
zizifn3
2023-05-16 14:18:06 +00:00
parent ff4885e865
commit 67053671f4
3 changed files with 758 additions and 413 deletions

View File

@@ -2,33 +2,31 @@
// @ts-ignore
import { connect } from 'cloudflare:sockets';
export default {
async fetch(req, env) {
console.log('start fetch');
const socket = connect({
hostname: 'neverssl.com',
port: 80,
});
export const onRequest: PagesFunction<Env> = async (context) => {
console.log('start fetch');
const socket = connect({
hostname: 'neverssl.com',
port: 80,
});
const writer = socket.writable.getWriter();
const encoder = new TextEncoder();
const encoded = encoder.encode(
'GET / HTTP/1.1\r\nHost: neverssl.com\r\n\r\n'
);
await writer.write(encoded);
const writer = socket.writable.getWriter();
const encoder = new TextEncoder();
const encoded = encoder.encode(
'GET / HTTP/1.1\r\nHost: neverssl.com\r\n\r\n'
);
await writer.write(encoded);
const reader = socket.readable.getReader();
const decoder = new TextDecoder();
let response = '';
while (true) {
const res = await reader.read();
if (res.done) {
console.log('Stream done, socket connection has been closed.');
break;
}
response += decoder.decode(res.value);
const reader = socket.readable.getReader();
const decoder = new TextDecoder();
let response = '';
while (true) {
const res = await reader.read();
if (res.done) {
console.log('Stream done, socket connection has been closed.');
break;
}
response += decoder.decode(res.value);
}
return new Response(response);
},
return new Response(response);
};