Skip to main content

QHTTPEngine

@quik/http


@quik/http / QHTTPEngine

Abstract Class: QHTTPEngine

Defined in: http/src/engine/QHTTPEngine.ts:17

Base class for HTTP engines providing common lifecycle helpers.

Extends

  • QObject

Implements

Constructors

Constructor

new QHTTPEngine(): QHTTPEngine

Returns

QHTTPEngine

Inherited from

QObject.constructor

Properties

_server

protected _server: Server

Defined in: http/src/engine/QHTTPEngine.ts:25

Instance of the node:http server.


_setupCompleted

protected _setupCompleted: boolean = false

Defined in: http/src/engine/QHTTPEngine.ts:18

Accessors

engine

Get Signature

get abstract engine(): string

Defined in: http/src/engine/QHTTPEngine.ts:20

Name of the underlying engine implementation.

Returns

string

Name of the underlying engine implementation.

Implementation of

IQHTTPEngine.engine


host

Get Signature

get host(): string

Defined in: http/src/engine/QHTTPEngine.ts:51

Lists the host on which we expose the server.

Returns

string

Host on which the server listens.

Implementation of

IQHTTPEngine.host


isListening

Get Signature

get isListening(): boolean

Defined in: http/src/engine/QHTTPEngine.ts:37

Flag to let the user know that the server was started and listening for connections.

Returns

boolean

Indicates whether the server is listening.

Implementation of

IQHTTPEngine.isListening


isSetupCompleted

Get Signature

get protected isSetupCompleted(): boolean

Defined in: http/src/engine/QHTTPEngine.ts:55

Returns

boolean


logger

Get Signature

get protected logger(): IQLogger

Defined in: core/src/QObject.ts:15

The logger getter for the object.

Returns

IQLogger

Inherited from

QObject.logger


name

Get Signature

get name(): string

Defined in: core/src/QObject.ts:8

Returns

string

Inherited from

QObject.name


port

Get Signature

get port(): number

Defined in: http/src/engine/QHTTPEngine.ts:44

Lists the port on which we expose the server.

Returns

number

Port on which the server listens.

Implementation of

IQHTTPEngine.port


server

Get Signature

get server(): Server

Defined in: http/src/engine/QHTTPEngine.ts:30

Getter for the node:http server.

Returns

Server

Node HTTP server instance used by the engine.

Implementation of

IQHTTPEngine.server


staticContentDefinition

Get Signature

get protected staticContentDefinition(): QStaticContent

Defined in: http/src/engine/QHTTPEngine.ts:59

Returns

QStaticContent

Methods

addResponseSpanAttributes()

protected addResponseSpanAttributes(span, response): void

Defined in: http/src/engine/QHTTPEngine.ts:275

Add response metadata to the telemetry span when available.

Parameters

span

TelemetrySpan

response

IQResponse

Returns

void


close()

abstract protected close(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:134

Close the underlying server.

Returns

Promise<void>


defaultErrorHandler()

protected defaultErrorHandler(serverError, translate?): IQErrorResponse

Defined in: http/src/engine/QHTTPEngine.ts:148

Default error handler used when the engine fails processing a request.

Parameters

serverError

Error

The thrown error instance.

translate?

QTranslatorFunction

Optional translation function.

Returns

IQErrorResponse


endRequestSpan()

protected endRequestSpan(span?): void

Defined in: http/src/engine/QHTTPEngine.ts:314

End the telemetry span when available.

Parameters

span?

TelemetrySpan

Returns

void


endSpan()

protected endSpan(span): void

Defined in: core/src/QObject.ts:35

End a span returned by startSpan.

Parameters

span

TelemetrySpan

The span to end.

Returns

void

Inherited from

QObject.endSpan


execute()

protected execute(event, route, endpoint): Promise<IQResponse<any>>

Defined in: http/src/engine/QHTTPEngine.ts:226

Parameters

event

QEvent

route

QRoute

endpoint

IQEndpointDefinition

Returns

Promise<IQResponse<any>>


getPath()

protected getPath(...pathElements): string

Defined in: http/src/engine/QHTTPEngine.ts:222

Join multiple path elements using the framework utility.

Parameters

pathElements

...string[]

Returns

string


listen()

abstract protected listen(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:131

Listen for incoming connections.

Returns

Promise<void>


recordRequestSpanError()

protected recordRequestSpanError(span, err): void

Defined in: http/src/engine/QHTTPEngine.ts:325

Record an error on the telemetry span when available.

Parameters

span

TelemetrySpan

err

unknown

Returns

void


recordSpanError()

protected recordSpanError(span, err): void

Defined in: core/src/QObject.ts:45

Record an exception on an active span.

Parameters

span

TelemetrySpan

The span to record the error on.

err

unknown

The error to record.

Returns

void

Inherited from

QObject.recordSpanError


registerEndpoint()

abstract protected registerEndpoint(route, endpoint): void

Defined in: http/src/engine/QHTTPEngine.ts:217

Register a single endpoint for the given route.

Parameters

route

QRoute

The parent route.

endpoint

IQEndpointDefinition

Endpoint definition to register.

Returns

void


registerErrorHandler()

abstract protected registerErrorHandler(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:140

Register the error handler for the engine.

Returns

Promise<void>


registerRoute()

protected registerRoute(route): void

Defined in: http/src/engine/QHTTPEngine.ts:202

Register all endpoints associated with a route.

Parameters

route

QRoute

The route being registered.

Returns

void


registerRoutes()

protected registerRoutes(): void

Defined in: http/src/engine/QHTTPEngine.ts:187

Register all routes available in the router.

Returns

void


registerStaticContent()

abstract protected registerStaticContent(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:137

Register static content handlers.

Returns

Promise<void>


reload()

reload(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:108

Stop the server, re-register all routes and static content, then restart listening. The error handler registered at startup is preserved across reloads.

Returns

Promise<void>

Implementation of

IQHTTPEngine.reload


reset()

abstract protected reset(): void

Defined in: http/src/engine/QHTTPEngine.ts:128

Reset the engine's internal routing state so that routes can be re-registered. Called by reload after the server is stopped.

Returns

void


setSpanAttribute()

protected setSpanAttribute(span, key, value): void

Defined in: core/src/QObject.ts:64

Set a single attribute on an active span.

Parameters

span

TelemetrySpan

The span to update.

key

string

Attribute key.

value

string | number | boolean

Attribute value.

Returns

void

Inherited from

QObject.setSpanAttribute


setupCompleted()

protected setupCompleted(): void

Defined in: http/src/engine/QHTTPEngine.ts:100

Mark the setup process as completed.

Returns

void


start()

start(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:66

Start the HTTP server and register routes when needed.

Returns

Promise<void>

Implementation of

IQHTTPEngine.start


startRequestSpan()

protected startRequestSpan(route, endpoint): TelemetrySpan

Defined in: http/src/engine/QHTTPEngine.ts:260

Start a telemetry span for the request pipeline when available.

Parameters

route

QRoute

endpoint

IQEndpointDefinition

Returns

TelemetrySpan


startSpan()

protected startSpan(spanName, options?): TelemetrySpan

Defined in: core/src/QObject.ts:26

Start a telemetry span for the given operation name. Returns undefined when no telemetry provider is active.

Parameters

spanName

string

Name of the span.

options?

TelemetrySpanOptions

Optional span attributes and kind.

Returns

TelemetrySpan

Inherited from

QObject.startSpan


stop()

stop(): Promise<void>

Defined in: http/src/engine/QHTTPEngine.ts:87

Stop the HTTP server.

Returns

Promise<void>

Implementation of

IQHTTPEngine.stop