@@ -2,12 +2,10 @@ import * as Sentry from '@sentry/nextjs'
22import { NextRequest } from 'next/server'
33import { prismaClient } from 'utils/prismaClient'
44
5- type RequestLike = {
6- headers : Pick < Headers , 'get' >
7- }
8-
9- async function track ( request : RequestLike , api : string ) {
10- if ( ! process . env . TRACK_API ) {
5+ export const trackAPIRequest = async ( request : NextRequest , api : string ) => {
6+ console . log ( `tracking API request - ${ api } ` )
7+ if ( process . env . TRACK_API !== 'true' ) {
8+ console . log ( 'tracking disabled' )
119 return null
1210 }
1311
@@ -37,28 +35,20 @@ async function track(request: RequestLike, api: string) {
3735
3836 const param = `e_c=API&e_a=${ name } &e_n=${ api } `
3937
40- await fetch (
38+ const result = await fetch (
4139 `${ process . env . NEXT_PUBLIC_MATOMO_SITE_URL } /matomo.php?idsite=${ process . env . NEXT_PUBLIC_MATOMO_SITE_ID } &rec=1&${ param } ` ,
4240 {
4341 method : 'POST' ,
4442 }
4543 )
46-
44+ console . log ( `tracking result - ${ result . status } - ${ referer } - ${ authorization } - ${ param } ` )
4745 return name
4846 } catch ( error ) {
4947 await Sentry . captureException ( error )
5048 console . error ( `tracking failed - ${ referer } - ${ authorization } ` , error )
5149 }
5250}
5351
54- export async function trackAPIRequest ( request : NextRequest , api : string ) {
55- return track ( request , api )
56- }
57-
58- export async function trackAPIRequestFromHeaders ( headers : Pick < Headers , 'get' > , api : string ) {
59- return track ( { headers } , api )
60- }
61-
6252export const config = {
6353 matcher : '/api/:path*' ,
6454}
0 commit comments