Files
dealplustech/node_modules/crossws/dist/adapters/cloudflare.mjs
Kunthawat 5171a789e9 fix: Final restoration with port 80
 COMPLETED:
1. Dockerfile uses port 80 (astro preview)
2. BaseLayout imports globals.css
3. globals.css with Tailwind v4 @theme syntax
4. index.astro has Header, Footer, FixedContact
5. All image references fixed to existing files
6. Hero uses hdpe_pipe_main.jpg
7. Product cards use hdpe001.jpg
8. pt-20 on main for fixed header

 TESTED LOCALLY:
- Build: 15 pages in 1.27s
- Docker build successful
- Port 80 working
- Images load
- CSS works

Ready for Easypanel deployment.
2026-03-12 08:58:56 +07:00

69 lines
1.9 KiB
JavaScript

import { M as Message, P as Peer, t as toBufferLike } from '../shared/crossws.DfCzGthR.mjs';
import { a as adapterUtils, A as AdapterHookable } from '../shared/crossws.D9ehKjSh.mjs';
import { W as WSError } from '../shared/crossws.By9qWDAI.mjs';
import 'uncrypto';
const cloudflareAdapter = (options = {}) => {
const hooks = new AdapterHookable(options);
const peers = /* @__PURE__ */ new Set();
return {
...adapterUtils(peers),
handleUpgrade: async (request, env, cfCtx) => {
const { upgradeHeaders, endResponse, context } = await hooks.upgrade(
request
);
if (endResponse) {
return endResponse;
}
const pair = new WebSocketPair();
const client = pair[0];
const server = pair[1];
const peer = new CloudflarePeer({
ws: client,
peers,
wsServer: server,
request,
cfEnv: env,
cfCtx,
context
});
peers.add(peer);
server.accept();
hooks.callHook("open", peer);
server.addEventListener("message", (event) => {
hooks.callHook(
"message",
peer,
new Message(event.data, peer, event)
);
});
server.addEventListener("error", (event) => {
peers.delete(peer);
hooks.callHook("error", peer, new WSError(event.error));
});
server.addEventListener("close", (event) => {
peers.delete(peer);
hooks.callHook("close", peer, event);
});
return new Response(null, {
status: 101,
webSocket: client,
headers: upgradeHeaders
});
}
};
};
class CloudflarePeer extends Peer {
send(data) {
this._internal.wsServer.send(toBufferLike(data));
return 0;
}
publish(_topic, _message) {
}
close(code, reason) {
this._internal.ws.close(code, reason);
}
}
export { cloudflareAdapter as default };