MCPcopy Create free account
hub / github.com/Effect-TS/effect / BunServerRequest

Class BunServerRequest

packages/platform/bun/src/BunHttpServer.ts:350–610  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

348}
349
350class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpServerRequest {
351 readonly [ServerRequest.TypeId]: typeof ServerRequest.TypeId
352 readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId
353 readonly source: Request
354 public resolve: (response: Response) => void
355 readonly url: string
356 private bunServer: BunServer<WebSocketContext>
357 public headersOverride?: Headers.Headers | undefined
358 private remoteAddressOverride?: Option.Option<string> | undefined
359
360 constructor(
361 source: Request,
362 resolve: (response: Response) => void,
363 url: string,
364 bunServer: BunServer<WebSocketContext>,
365 headersOverride?: Headers.Headers,
366 remoteAddressOverride?: Option.Option<string>
367 ) {
368 super()
369 this[ServerRequest.TypeId] = ServerRequest.TypeId
370 this[IncomingMessage.TypeId] = IncomingMessage.TypeId
371 this.source = source
372 this.resolve = resolve
373 this.url = url
374 this.bunServer = bunServer
375 this.headersOverride = headersOverride
376 this.remoteAddressOverride = remoteAddressOverride
377 }
378 toJSON(): unknown {
379 return IncomingMessage.inspect(this, {
380 _id: "HttpServerRequest",
381 method: this.method,
382 url: this.originalUrl
383 })
384 }
385 modify(
386 options: {
387 readonly url?: string | undefined
388 readonly headers?: Headers.Headers | undefined
389 readonly remoteAddress?: Option.Option<string> | undefined
390 }
391 ) {
392 return new BunServerRequest(
393 this.source,
394 this.resolve,
395 options.url ?? this.url,
396 this.bunServer,
397 options.headers ?? this.headersOverride,
398 "remoteAddress" in options ? options.remoteAddress : this.remoteAddressOverride
399 )
400 }
401 get method(): HttpMethod {
402 return this.source.method.toUpperCase() as HttpMethod
403 }
404 get originalUrl() {
405 return this.source.url
406 }
407 get remoteAddress(): Option.Option<string> {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected