Skip to content
This repository was archived by the owner on Mar 16, 2025. It is now read-only.

Commit d62cc18

Browse files
committed
Pass correct context to RequestModifier.modifyNext()
1 parent f328fe8 commit d62cc18

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/core/request-processor.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ abstract class RequestProcessorAgent<TBase, TMeans extends TBase> {
103103

104104
abstract modify<TExt>(
105105
this: void,
106+
context: RequestContext<TMeans>,
106107
modification: RequestModification<TMeans, TExt>,
107108
): Promise<RequestModification<TMeans, TExt>>;
108109

@@ -135,6 +136,7 @@ class RootRequestProcessorAgent<TMeans> extends RequestProcessorAgent<TMeans, TM
135136

136137
modify<TExt>(
137138
this: void,
139+
_context: RequestContext<TMeans>,
138140
modification: RequestModification<TMeans, TExt>,
139141
): Promise<RequestModification<TMeans, TExt>> {
140142
return Promise.resolve(modification);
@@ -150,13 +152,16 @@ async function nextRequestProcessorAgent<TBase, TMeans extends TBase, TExt>(
150152
modification: RequestModification<TMeans, TExt> | RequestModifier<TMeans, TExt>,
151153
): Promise<RequestProcessorAgent<TBase, TMeans & TExt>> {
152154
if (isRequestModifier(modification)) {
153-
return new ModifierRequestProcessingAgent(
155+
return new ModifierRequestProcessingAgent<TBase, TMeans, TExt>(
154156
prev,
155157
modification,
156-
await prev.modify(await modification.modification(prev.context)),
158+
await prev.modify(prev.context, await modification.modification(prev.context)),
157159
);
158160
}
159-
return new ModificationRequestProcessorAgent(prev, await prev.modify(modification));
161+
return new ModificationRequestProcessorAgent<TBase, TMeans, TExt>(
162+
prev,
163+
await prev.modify(prev.context, modification),
164+
);
160165
}
161166

162167
/**
@@ -169,6 +174,7 @@ class ModificationRequestProcessorAgent<TBase, TMeans extends TBase, TExt>
169174

170175
readonly modify: <TNext>(
171176
this: void,
177+
context: RequestContext<TMeans & TExt>,
172178
modification: RequestModification<TMeans & TExt, TNext>,
173179
) => Promise<RequestModification<TMeans & TExt, TNext>>;
174180

@@ -204,6 +210,7 @@ class ModifierRequestProcessingAgent<TBase, TMeans extends TBase, TExt>
204210

205211
readonly modify: <TNext>(
206212
this: void,
213+
context: RequestContext<TMeans & TExt>,
207214
modification: RequestModification<TMeans & TExt, TNext>,
208215
) => Promise<RequestModification<TMeans & TExt, TNext>>;
209216

@@ -220,8 +227,12 @@ class ModifierRequestProcessingAgent<TBase, TMeans extends TBase, TExt>
220227
super(prev.config);
221228

222229
if (modifier.modifyNext) {
223-
this.modify = async <TNext>(mod: RequestModification<TMeans & TExt, TNext>) => prev.modify(
224-
modifier.modifyNext!(this.context, mod) as RequestModification<TMeans, TNext>,
230+
this.modify = async <TNext>(
231+
context: RequestContext<TMeans & TExt>,
232+
mod: RequestModification<TMeans & TExt, TNext>,
233+
) => prev.modify(
234+
context as RequestContext<TMeans>,
235+
modifier.modifyNext!(context, mod) as RequestModification<TMeans, TNext>,
225236
) as Promise<RequestModification<TMeans & TExt, TNext>>;
226237
} else {
227238
this.modify = prev.modify as this['modify'];

0 commit comments

Comments
 (0)