HTTP Link
httpLink
is a terminating link that sends a tRPC operation to a tRPC procedure over HTTP.
httpLink
supports both POST and GET requests.
Usage
You can import and add the httpLink
to the links
array as such:
client/index.tsts
import { createTRPCClient, httpLink } from '@trpc/client';import type { AppRouter } from '../server';const client = createTRPCClient<AppRouter>({links: [httpLink({url: 'http://localhost:3000',// transformer,}),],});
client/index.tsts
import { createTRPCClient, httpLink } from '@trpc/client';import type { AppRouter } from '../server';const client = createTRPCClient<AppRouter>({links: [httpLink({url: 'http://localhost:3000',// transformer,}),],});
httpLink
Options
The httpLink
function takes an options object that has the HTTPLinkOptions
shape.
ts
export interface HTTPLinkOptions {url: string;/*** Add ponyfill for fetch*/fetch?: typeof fetch;/*** Add ponyfill for AbortController*/AbortController?: typeof AbortController | null;/*** Data transformer* @link https://trpc.io/docs/v11/data-transformers**/transformer?: DataTransformerOptions;/*** Headers to be set on outgoing requests or a callback that of said headers* @link http://trpc.io/docs/v10/header*/headers?:| HTTPHeaders| ((opts: { op: Operation }) => HTTPHeaders | Promise<HTTPHeaders>);/*** Send all requests as POSTS requests regardless of the procedure type* The server must separately allow overriding the method. See:* @link https://trpc.io/docs/rpc*/methodOverride?: 'POST';}
ts
export interface HTTPLinkOptions {url: string;/*** Add ponyfill for fetch*/fetch?: typeof fetch;/*** Add ponyfill for AbortController*/AbortController?: typeof AbortController | null;/*** Data transformer* @link https://trpc.io/docs/v11/data-transformers**/transformer?: DataTransformerOptions;/*** Headers to be set on outgoing requests or a callback that of said headers* @link http://trpc.io/docs/v10/header*/headers?:| HTTPHeaders| ((opts: { op: Operation }) => HTTPHeaders | Promise<HTTPHeaders>);/*** Send all requests as POSTS requests regardless of the procedure type* The server must separately allow overriding the method. See:* @link https://trpc.io/docs/rpc*/methodOverride?: 'POST';}
Reference
You can check out the source code for this link on GitHub.