Dusterio\AwsWorker\Controllers\WorkerController::validateBody PHP Method

validateBody() private method

private validateBody ( Illuminate\Http\Request $request, Illuminate\Contracts\Container\Container $laravel ) : string
$request Illuminate\Http\Request
$laravel Illuminate\Contracts\Container\Container
return string
    private function validateBody(Request $request, Container $laravel)
    {
        if (empty($request->getContent())) {
            throw new MalformedRequestException('Empty request body');
        }
        $job = json_decode($request->getContent(), true);
        if ($job === null) {
            throw new MalformedRequestException('Unable to decode request JSON');
        }
        if (isset($job['job']) && isset($job['data'])) {
            return $request->getContent();
        }
        // If the format is not the standard Laravel format, try to mimic it
        $queueId = explode('/', $request->header('X-Aws-Sqsd-Queue'));
        $queueId = array_pop($queueId);
        $class = array_key_exists($queueId, $laravel['config']->get('sqs-plain.handlers')) ? $laravel['config']->get('sqs-plain.handlers')[$queueId] : $laravel['config']->get('sqs-plain.default-handler');
        return json_encode(['job' => $class . '@handle', 'data' => $request->getContent()]);
    }