@code40/beaver-bridge
v1.1.2
Published
Beaver-Bridge lib
Readme
Beaver Bridge Lib
.env variables.
# cookie name (optional, default kstor)
KEYADE_COOKIE_NAME=kstor
# cookie expiration (unit in day) (optional, default 30)
KEYADE_COOKIE_DURATION=30
# url to send conversion (MANDATORY, no default value)
KEYADE_CONVERSION_TRACKING_URL=https://s2s.endpoint.com/conv
# main ip header (optional, default value x-real-ip)
KEYADE_MAIN_IP_HEADER=X-My-Real-IP
# cipher algo (optional, default AES-128-CBC)
KEYADE_CIPHER_ALGO=AES-128-CBC
# cipher key - length 16 / 24 / 32 characters for aes-128 (MANDATORY, no default value)
KEYADE_CIPHER_KEY="my-super-key-key"Click collect page example.
import {BeaverNextjs, collectService} from '@code40/beaver-bridge'
import type {NextApiRequest, NextApiResponse} from 'next'
export default function handler(req: NextApiRequest, res: NextApiResponse<string>): void {
BeaverNextjs.transform(
collectService.storeData(req.query, req.cookies),
res
)
}Conversion handler example.
import {BeaverHeaders, BeaverNextjs, BeaverResponse, conversionService} from '@code40/beaver-bridge'
import type {NextApiRequest, NextApiResponse} from 'next'
export default async function handler(req: NextApiRequest, res: NextApiResponse<string>): Promise<void> {
const headers: BeaverHeaders = {}
for (const key in req.headers) {
if (Object.prototype.hasOwnProperty.call(req.headers, key)) {
headers[key] = req.headers[key]
}
}
try {
const beaverResponse: BeaverResponse = await conversionService.sendConversion(req.method, req.body, req.query, req.cookies, headers)
BeaverNextjs.transform(beaverResponse, res)
} catch (error: unknown) {
console.error(`fail to send conversion ${error}`)
res.status(500)
res.end()
}
}@ Code40 SAS
