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

Function executeText

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

Source from the content-addressed store, hash-verified

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

Calls 2

provideHttpClientFunction · 0.85
executeMethod · 0.65

Tested by

no test coverage detected