header('Accept'); $contentType = $request->header('Content-Type'); $locale = $request->header('Accept-Language'); if (!$locale) { return ApiResponse::apiResponse( 'Unauthorized', null, trans('Validation.required', ['attribute' => 'Accept-Language']), 401 ); } if ($locale === 'en-US') { App::setLocale('en'); } elseif ($locale === 'id-ID') { App::setLocale('id'); } if ($acceptHeader !== 'application/json') { return ApiResponse::apiResponse( 'Bad Request', null, trans('Validation.invalid', ['attribute' => 'Accept']), 400 ); } if ($request->isMethod('post') && $contentType !== 'application/json') { return ApiResponse::apiResponse( 'Bad Request', null, trans('Validation.invalid', ['attribute' => 'Content-Type']), 400 ); } return $next($request); } }