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()]); }