3 namespace Drupal\conneg_test\Controller;
5 use Symfony\Component\HttpFoundation\JsonResponse;
6 use Symfony\Component\HttpFoundation\Request;
7 use Symfony\Component\HttpFoundation\Response;
10 * Test controller for content negotiation tests.
12 class TestController {
15 * Returns a json response.
17 * @return \Symfony\Component\HttpFoundation\JsonResponse
19 public function simple() {
20 return new JsonResponse(['some' => 'data']);
24 * Returns a simple render array.
28 public function html() {
35 * Returns different responses dependening on the request format.
37 * @param \Symfony\Component\HttpFoundation\Request $request
40 * @return \Symfony\Component\HttpFoundation\Response
43 public function format(Request $request) {
44 switch ($request->getRequestFormat()) {
46 return new JsonResponse(['some' => 'data']);
49 return new Response('<xml></xml>', Response::HTTP_OK, ['Content-Type' => 'application/xml']);
52 return new Response($request->getRequestFormat());
57 * Returns a render array depending on some passed in value.
59 * @param string $plugin_id
65 public function variable($plugin_id) {
67 '#markup' => $plugin_id,