conversion: fix exports and strengthen IP extraction
This commit is contained in:
@@ -58,10 +58,10 @@ export const buildCustomData = (params: Record<string, string>): CustomData => {
|
||||
*/
|
||||
export type ConversionEventOptions = {
|
||||
eventID: string;
|
||||
eventSourceURL?: string;
|
||||
actionSource: 'website' | 'app' | 'offline' | 'other';
|
||||
userData: UserData;
|
||||
customData?: CustomData;
|
||||
eventSourceURL?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,20 @@ import type { ConversionErrorResponseBody, ConversionRequestBody } from '$lib/ty
|
||||
|
||||
import { StatusCodes } from 'http-status-codes';
|
||||
|
||||
const getEventIP = (request: Request, getClientAddress: () => string) => {
|
||||
return (
|
||||
request.headers.get('x-forwarded-for') ||
|
||||
request.headers.get('cf-connecting-ip') ||
|
||||
request.headers.get('x-real-ip') ||
|
||||
request.headers.get('x-client-ip') ||
|
||||
request.headers.get('x-cluster-client-ip') ||
|
||||
request.headers.get('x-original-forwarded-for') ||
|
||||
request.headers.get('forwarded-for') ||
|
||||
request.headers.get('forwarded') ||
|
||||
getClientAddress()
|
||||
);
|
||||
};
|
||||
|
||||
export const createConversionRequestHandler: (control: ConversionControl) => RequestHandler = (
|
||||
control
|
||||
) => {
|
||||
@@ -12,7 +26,7 @@ export const createConversionRequestHandler: (control: ConversionControl) => Req
|
||||
const body = (await request.json()) as ConversionRequestBody;
|
||||
|
||||
// Build user data with IP and user agent
|
||||
const ip = getClientAddress();
|
||||
const ip = getEventIP(request, getClientAddress);
|
||||
const ua = request.headers.get('user-agent');
|
||||
|
||||
const userData = buildConversionUserData({
|
||||
|
||||
Reference in New Issue
Block a user