MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / executeText

Function executeText

packages/core/sdk/src/oauth-discovery.ts:207–249  ·  view source on GitHub ↗
(
  request: HttpClientRequest.HttpClientRequest,
  options: DiscoveryRequestOptions,
  errorMessage: string,
)

Source from the content-addressed store, hash-verified

205 effect.pipe(Effect.provide(options.httpClientLayer ?? FetchHttpClient.layer));
206
207const executeText = (
208 request: HttpClientRequest.HttpClientRequest,
209 options: DiscoveryRequestOptions,
210 errorMessage: string,
211): Effect.Effect<{ readonly status: number; readonly body: string }, OAuthDiscoveryError> =>
212 provideHttpClient(
213 Effect.gen(function* () {
214 const client = yield* HttpClient.HttpClient;
215 const response = yield* client.execute(request).pipe(
216 Effect.timeoutOrElse({
217 duration: Duration.millis(options.timeoutMs ?? OAUTH2_DEFAULT_TIMEOUT_MS),
218 orElse: () =>
219 Effect.fail(
220 new OAuthDiscoveryError({
221 message: errorMessage,
222 cause: "timeout",
223 }),
224 ),
225 }),
226 Effect.mapError((cause) =>
227 Predicate.isTagged(cause, "OAuthDiscoveryError")
228 ? cause
229 : new OAuthDiscoveryError({
230 message: errorMessage,
231 cause,
232 }),
233 ),
234 );
235 const body = yield* response.text.pipe(
236 Effect.catch(() => Effect.succeed("")),
237 Effect.mapError(
238 (cause) =>
239 new OAuthDiscoveryError({
240 message: `${errorMessage}: response body could not be read`,
241 status: response.status,
242 cause,
243 }),
244 ),
245 );
246 return { status: response.status, body };
247 }),
248 options,
249 );
250
251// ---------------------------------------------------------------------------
252// RFC 9728 — Protected Resource Metadata

Calls 2

provideHttpClientFunction · 0.85
executeMethod · 0.65

Tested by

no test coverage detected