# Type Alias: NodeHTTPRequest

> 

> **NodeHTTPRequest**: `DistributiveOmit`\<`http.IncomingMessage` \| `http2.Http2ServerRequest`, `"socket"`\> & `object`

Defined in: [packages/server/src/adapters/node-http/types.ts:30](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/adapters/node-http/types.ts#L30)

A Node.js HTTP/1 or HTTP/2 request, as the Node.js adapters take it.

## Type declaration

### body?

> `optional` **body**: `unknown`

The body, if a framework or middleware parsed it already. tRPC reads
it instead of the stream.

### socket?

> `optional` **socket**: `Partial`\<`http.IncomingMessage`\[`"socket"`\]\> \| `Partial`\<`http2.Http2ServerRequest`\[`"socket"`\]\>

Optional, and maybe partial: some hosts don't give a full Node.js
socket (https://github.com/trpc/trpc/issues/6341).
