@midsummer-ai/functions
v0.1.0
Published
Request context helpers for apps built on Midsummer and deployed to Cloudflare Workers.
Maintainers
Readme
@midsummer/functions
Cloudflare-native request helpers for Midsummer apps. The API mirrors the small
@vercel/functions surface that maps cleanly to Midsummer's runtime.
import { geolocation, ipAddress, waitUntil } from '@midsummer/functions';
export default {
async fetch(request: Request, env: unknown, ctx: ExecutionContext) {
const geo = geolocation(request);
const ip = ipAddress(request);
waitUntil(ctx, logRequest({ geo, ip }));
return Response.json({ geo, ip });
},
};API
geolocation(request)
Reads Cloudflare Workers' request.cf object and returns:
{
country?: string;
region?: string;
city?: string;
latitude?: string;
longitude?: string;
countryRegion?: string;
}countryRegion maps to Cloudflare's request.cf.regionCode.
ipAddress(request)
Returns the CF-Connecting-IP header value when Cloudflare provides it.
waitUntil(ctx, promise)
Cloudflare Workers expose background work through the explicit
ExecutionContext passed to the handler. Unlike @vercel/functions, Midsummer
does not fake an ambient request context:
waitUntil(ctx, promise);Pass the handler's ctx object directly.
