Code Duplication    Length = 11-16 lines in 3 locations

config/handlers.php 3 locations

@@ 26-38 (lines=13) @@
23
    return new RequestResponseArgs();
24
};
25
26
$container['csrfFailureHandler'] = function ($container) {
27
    return function (Request $request, Response $response) use ($container) {
28
        $container['monolog']->error(sprintf('Failed CSRF check on "%s /%s"', $request->getMethod(), ltrim($request->getUri()->getPath(), '/')));
29
30
        $container['flash']->addMessage('error', 'Failed CSRF check');
31
32
        if ('prod' === $this->getEnvironment()) {
33
            return $response->withRedirect($request->getUri()->getPath());
34
        } else {
35
            return $response->write('Failed CSRF check!');
36
        }
37
    };
38
};
39
40
$container['notFoundHandler'] = function ($container) {
41
    return function (Request $request, Response $response) use ($container) {
@@ 40-50 (lines=11) @@
37
    };
38
};
39
40
$container['notFoundHandler'] = function ($container) {
41
    return function (Request $request, Response $response) use ($container) {
42
        $container['monolog']->error(sprintf('No route found for "%s /%s"', $request->getMethod(), ltrim($request->getUri()->getPath(), '/')));
43
44
        if ('prod' === $this->getEnvironment()) {
45
            return $response->withStatus(404)->write($container['twig']->fetch('error/404.twig'));
46
        } else {
47
            return (new NotFound())($request, $response);
48
        }
49
    };
50
};
51
52
$container['notAllowedHandler'] = function ($container) {
53
    return function (Request $request, Response $response, array $methods) use ($container) {
@@ 52-67 (lines=16) @@
49
    };
50
};
51
52
$container['notAllowedHandler'] = function ($container) {
53
    return function (Request $request, Response $response, array $methods) use ($container) {
54
        $container['monolog']->error(sprintf(
55
            'No route found for "%s /%s": Method not allowed (Allow: %s)',
56
            $request->getMethod(),
57
            ltrim($request->getUri()->getPath(), '/'),
58
            implode(', ', $methods)
59
        ));
60
61
        if ('prod' === $this->getEnvironment()) {
62
            return $response->withStatus(405)->write($container['twig']->fetch('error/4xx.twig'));
63
        } else {
64
            return (new NotAllowed())($request, $response, $methods);
65
        }
66
    };
67
};
68
69
$container['accessDeniedHandler'] = function ($container) {
70
    return function (Request $request, Response $response, AccessDeniedException $exception) use ($container) {