Skip to content

Commit f7525bf

Browse files
committed
Cancel req send on abort signal
Signed-off-by: Marcos Candeia <[email protected]>
1 parent 371927b commit f7525bf

File tree

4 files changed

+6
-15
lines changed

4 files changed

+6
-15
lines changed

deno.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@deco/warp",
3-
"version": "0.2.3",
3+
"version": "0.2.4",
44
"exports": "./mod.ts",
55
"tasks": {
66
"check": "deno fmt && deno lint && deno check mod.ts"

handlers.client.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const error: ServerMessageHandler<ErrorMessage> = (state) => {
3636
state.live = false;
3737
};
3838

39+
3940
/**
4041
* Handler for the 'request-start' server message.
4142
* @param {ClientState} state - The client state.

handlers.server.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,6 @@ const onResponseStart: ClientMessageHandler<ResponseStartMessage> = (
6767
const data: ClientMessageHandler<DataMessage> = async (state, message) => {
6868
const request = state.ongoingRequests[message.id];
6969
if (!request) {
70-
console.error(
71-
new Date(),
72-
"Didn't find response object, unable to send data",
73-
message.id,
74-
);
7570
return;
7671
}
7772
try {
@@ -89,10 +84,6 @@ const data: ClientMessageHandler<DataMessage> = async (state, message) => {
8984
const onDataEnd: ClientMessageHandler<DataEndMessage> = (state, message) => {
9085
const request = state.ongoingRequests[message.id];
9186
if (!request) {
92-
console.error(
93-
new Date(),
94-
"Didn't find response object, unable to send data",
95-
);
9687
return;
9788
}
9889
if (message.error) {
@@ -240,7 +231,6 @@ export const handleClientMessage: ClientMessageHandler = async (
240231
state,
241232
message,
242233
) => {
243-
console.info(new Date(), message.type, "id" in message ? message.id : "");
244234
await handlersByType?.[message.type]?.(state, message)?.catch?.((err) => {
245235
console.error(
246236
"unexpected error happening when handling message",

server.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,19 +154,19 @@ export const serveHandler = (
154154
responseBodyChan: makeChan(),
155155
};
156156
try {
157-
const signal = ch.out.signal;
158157
await ch.out.send(requestForward);
159158
const dataChan = req.body ? makeChanStream(req.body) : undefined;
159+
const linked = link(ch.out.signal, req.signal);
160160
(async () => {
161161
try {
162-
for await (const chunk of dataChan?.recv(signal) ?? []) {
162+
for await (const chunk of dataChan?.recv(linked) ?? []) {
163163
await ch.out.send({
164164
type: "request-data",
165165
id: messageId,
166166
chunk,
167167
});
168168
}
169-
if (signal.aborted) {
169+
if (linked.aborted) {
170170
return;
171171
}
172172
await ch.out.send({
@@ -179,7 +179,7 @@ export const serveHandler = (
179179
status: 503,
180180
}),
181181
);
182-
if (signal.aborted) {
182+
if (linked.aborted) {
183183
return;
184184
}
185185
console.log(

0 commit comments

Comments
 (0)