public function EmitController::emit in Radioactivity 8.2
Same name and namespace in other branches
- 8.3 src/Controller/EmitController.php \Drupal\radioactivity\Controller\EmitController::emit()
- 4.0.x src/Controller/EmitController.php \Drupal\radioactivity\Controller\EmitController::emit()
Callback for /radioactivity/emit
Parameters
Request $request:
Return value
Response
1 string reference to 'EmitController::emit'
File
- src/
Controller/ EmitController.php, line 18
Class
Namespace
Drupal\radioactivity\ControllerCode
public function emit(Request $request) {
$post_data = $request
->getContent();
if ($post_data) {
$count = 0;
$incidents = Json::decode($post_data);
foreach ($incidents as $data) {
$incident = \Drupal\radioactivity\Incident::createFromPostData($data);
if ($incident
->isValid()) {
$incidents = \Drupal::state()
->get('radioactivity_incidents', []);
$incidents[] = $incident;
$queue_size = count($incidents);
\Drupal::state()
->set('radioactivity_incidents', $incidents);
$count++;
}
else {
return new JsonResponse(array(
'status' => 'error',
'message' => 'invalid incident (' . $count . ').',
));
}
}
return new JsonResponse(array(
'status' => 'ok',
'message' => $count . ' emits added (queue size: ' . $queue_size . ')',
));
}
return new JsonResponse(array(
'status' => 'error',
'message' => 'Empty request',
));
}