Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
61 lines
2.6 KiB
Text
61 lines
2.6 KiB
Text
import type { ExperimentalConfig, I18NConfig } from '../config-shared';
|
|
import type { NextRequest } from './spec-extension/request';
|
|
import type { NextFetchEvent } from './spec-extension/fetch-event';
|
|
import type { NextResponse } from './spec-extension/response';
|
|
import type { CloneableBody } from '../body-streams';
|
|
import type { OutgoingHttpHeaders } from 'http';
|
|
import type { FetchMetrics } from '../base-http';
|
|
/**
|
|
* @deprecated Use `ProxyConfig` instead. Middleware has been renamed to Proxy.
|
|
*/
|
|
export type { MiddlewareConfigInput as MiddlewareConfig } from '../../build/segment-config/middleware/middleware-config';
|
|
export type { MiddlewareConfigInput as ProxyConfig } from '../../build/segment-config/middleware/middleware-config';
|
|
export interface RequestData {
|
|
headers: OutgoingHttpHeaders;
|
|
method: string;
|
|
nextConfig?: {
|
|
basePath?: string;
|
|
i18n?: I18NConfig | null;
|
|
trailingSlash?: boolean;
|
|
experimental?: Pick<ExperimentalConfig, 'cacheLife' | 'authInterrupts' | 'clientParamParsingOrigins'>;
|
|
};
|
|
page?: {
|
|
name?: string;
|
|
params?: {
|
|
[key: string]: string | string[] | undefined;
|
|
};
|
|
};
|
|
url: string;
|
|
body?: ReadableStream<Uint8Array>;
|
|
signal: AbortSignal;
|
|
/** passed in when running in edge runtime sandbox */
|
|
waitUntil?: (promise: Promise<any>) => void;
|
|
}
|
|
export type NodejsRequestData = Omit<RequestData, 'body'> & {
|
|
body?: CloneableBody;
|
|
};
|
|
export interface FetchEventResult {
|
|
response: Response;
|
|
waitUntil: Promise<any>;
|
|
fetchMetrics?: FetchMetrics;
|
|
}
|
|
export type NextMiddlewareResult = NextResponse | Response | null | undefined | void;
|
|
/**
|
|
* Middleware allows you to run code before a request is completed.
|
|
* Then, based on the incoming request, you can modify the response
|
|
* by rewriting, redirecting, modifying the request or response headers,
|
|
* or responding directly.
|
|
*
|
|
* @deprecated Use `NextProxy` instead. Middleware has been renamed to Proxy.
|
|
* Read more: [Next.js Docs: Middleware](https://nextjs.org/docs/app/building-your-application/routing/middleware)
|
|
*/
|
|
export type NextMiddleware = (request: NextRequest, event: NextFetchEvent) => NextMiddlewareResult | Promise<NextMiddlewareResult>;
|
|
/**
|
|
* Proxy allows you to run code before a request is completed.
|
|
* Then, based on the incoming request, you can modify the response
|
|
* by rewriting, redirecting, modifying the request or response headers,
|
|
* or responding directly.
|
|
*
|
|
* Read more: [Next.js Docs: Proxy](https://nextjs.org/docs/app/building-your-application/routing/middleware)
|
|
*/
|
|
export type NextProxy = NextMiddleware;
|