Slim\Exception\HttpNotFoundException {#168
#message: "Not found."
#code: 404
#file: "/var/www/html/flight/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php"
#line: 76
#request: Slim\Psr7\Request {#178
#protocolVersion: "2.0"
#headers: Slim\Psr7\Headers {#180
#globals: array:44 [
"USER" => "www-data"
"HOME" => "/var/www"
"HTTP_COOKIE" => "webapp=ef309aec227d1acc3fa05c2ea62896ac"
"HTTP_ACCEPT_ENCODING" => "gzip, br, zstd, deflate"
"HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
"HTTP_ACCEPT" => "*/*"
"HTTP_HOST" => "flight.massinflux.com"
"PHP_ADMIN_VALUE" => "open_basedir=/var/www/html/flight/:/usr/lib/php/:/tmp/"
"SCRIPT_FILENAME" => "/var/www/html/flight/public/index.php"
"REDIRECT_STATUS" => "200"
"SERVER_NAME" => "flight.massinflux.com"
"SERVER_PORT" => "443"
"SERVER_ADDR" => "137.184.94.174"
"REMOTE_USER" => ""
"REMOTE_PORT" => "5342"
"REMOTE_ADDR" => "216.73.217.14"
"SERVER_SOFTWARE" => "nginx/1.24.0"
"GATEWAY_INTERFACE" => "CGI/1.1"
"HTTPS" => "on"
"REQUEST_SCHEME" => "https"
"SERVER_PROTOCOL" => "HTTP/2.0"
"DOCUMENT_ROOT" => "/var/www/html/flight/public"
"DOCUMENT_URI" => "/index.php"
"REQUEST_URI" => "/sitemap.xml"
"SCRIPT_NAME" => "/index.php"
"CONTENT_LENGTH" => ""
"CONTENT_TYPE" => ""
"REQUEST_METHOD" => "GET"
"QUERY_STRING" => ""
"FCGI_ROLE" => "RESPONDER"
"PHP_SELF" => "/index.php"
"REQUEST_TIME_FLOAT" => 1777866811.691
"REQUEST_TIME" => 1777866811
"APP_ENV" => "dev"
"APP_DEBUG" => "1"
"SESSION_NAME" => "webapp"
"DB_DATABASE" => "flight"
"SITE_DOMAIN" => "flight.massinflux.com"
"TWELVE_DATA_API" => "8d05f211b56543f0aad25f804ab2ef37"
"OAUTH_CLIENT_ID" => "746271987403-i27tbs88unsnfc8sdea20ig8ildh52dv.apps.googleusercontent.com"
"OAUTH_CLIENT_SECRET" => "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"
"SENDGRID_KEY" => "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"
"GOOGLE_MAPS_API_KEY" => "AIzaSyA9tuI4gMoqHhRmCJnBBruWffkjkNpgq3k"
"CRONITOR_KEY" => "7fc3face593147d9af21a6dcf6662693"
]
#headers: array:7 [
"cookie" => Slim\Psr7\Header {#146
-originalName: "Cookie"
-normalizedName: "cookie"
-values: array:1 [
0 => "webapp=ef309aec227d1acc3fa05c2ea62896ac"
]
}
"accept-encoding" => Slim\Psr7\Header {#147
-originalName: "Accept-Encoding"
-normalizedName: "accept-encoding"
-values: array:1 [
0 => "gzip, br, zstd, deflate"
]
}
"user-agent" => Slim\Psr7\Header {#148
-originalName: "User-Agent"
-normalizedName: "user-agent"
-values: array:1 [
0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
]
}
"accept" => Slim\Psr7\Header {#149
-originalName: "Accept"
-normalizedName: "accept"
-values: array:1 [
0 => "*/*"
]
}
"host" => Slim\Psr7\Header {#156
-originalName: "Host"
-normalizedName: "host"
-values: array:1 [
0 => "flight.massinflux.com"
]
}
"content-length" => Slim\Psr7\Header {#151
-originalName: "Content-Length"
-normalizedName: "content-length"
-values: array:1 [
0 => ""
]
}
"content-type" => Slim\Psr7\Header {#152
-originalName: "Content-Type"
-normalizedName: "content-type"
-values: array:1 [
0 => ""
]
}
]
}
#body: Slim\Psr7\Stream {#181
#stream: stream resource @8
timed_out: false
blocked: true
eof: false
wrapper_type: "PHP"
stream_type: "Input"
mode: "rb"
unread_bytes: 0
seekable: true
uri: "php://input"
options: []
}
#meta: ? ?array
#readable: null
#writable: null
#seekable: null
#size: null
#isPipe: null
#finished: false
#cache: Slim\Psr7\Stream {#153
#stream: stream resource @4
wrapper_type: "PHP"
stream_type: "TEMP"
mode: "w+b"
unread_bytes: 0
seekable: true
uri: "php://temp"
options: []
}
#meta: array:6 [
"wrapper_type" => "PHP"
"stream_type" => "TEMP"
"mode" => "w+b"
"unread_bytes" => 0
"seekable" => true
"uri" => "php://temp"
]
#readable: null
#writable: true
#seekable: true
#size: null
#isPipe: false
#finished: false
#cache: null
}
}
#method: "GET"
#uri: Slim\Psr7\Uri {#145
#scheme: "https"
#user: ""
#password: ""
#host: "flight.massinflux.com"
#port: 443
#path: "/sitemap.xml"
#query: ""
#fragment: ""
}
#requestTarget: null
#queryParams: null
#cookies: array:1 [
"webapp" => "ef309aec227d1acc3fa05c2ea62896ac"
]
#serverParams: array:44 [
"USER" => "www-data"
"HOME" => "/var/www"
"HTTP_COOKIE" => "webapp=ef309aec227d1acc3fa05c2ea62896ac"
"HTTP_ACCEPT_ENCODING" => "gzip, br, zstd, deflate"
"HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
"HTTP_ACCEPT" => "*/*"
"HTTP_HOST" => "flight.massinflux.com"
"PHP_ADMIN_VALUE" => "open_basedir=/var/www/html/flight/:/usr/lib/php/:/tmp/"
"SCRIPT_FILENAME" => "/var/www/html/flight/public/index.php"
"REDIRECT_STATUS" => "200"
"SERVER_NAME" => "flight.massinflux.com"
"SERVER_PORT" => "443"
"SERVER_ADDR" => "137.184.94.174"
"REMOTE_USER" => ""
"REMOTE_PORT" => "5342"
"REMOTE_ADDR" => "216.73.217.14"
"SERVER_SOFTWARE" => "nginx/1.24.0"
"GATEWAY_INTERFACE" => "CGI/1.1"
"HTTPS" => "on"
"REQUEST_SCHEME" => "https"
"SERVER_PROTOCOL" => "HTTP/2.0"
"DOCUMENT_ROOT" => "/var/www/html/flight/public"
"DOCUMENT_URI" => "/index.php"
"REQUEST_URI" => "/sitemap.xml"
"SCRIPT_NAME" => "/index.php"
"CONTENT_LENGTH" => ""
"CONTENT_TYPE" => ""
"REQUEST_METHOD" => "GET"
"QUERY_STRING" => ""
"FCGI_ROLE" => "RESPONDER"
"PHP_SELF" => "/index.php"
"REQUEST_TIME_FLOAT" => 1777866811.691
"REQUEST_TIME" => 1777866811
"APP_ENV" => "dev"
"APP_DEBUG" => "1"
"SESSION_NAME" => "webapp"
"DB_DATABASE" => "flight"
"SITE_DOMAIN" => "flight.massinflux.com"
"TWELVE_DATA_API" => "8d05f211b56543f0aad25f804ab2ef37"
"OAUTH_CLIENT_ID" => "746271987403-i27tbs88unsnfc8sdea20ig8ildh52dv.apps.googleusercontent.com"
"OAUTH_CLIENT_SECRET" => "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"
"SENDGRID_KEY" => "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"
"GOOGLE_MAPS_API_KEY" => "AIzaSyA9tuI4gMoqHhRmCJnBBruWffkjkNpgq3k"
"CRONITOR_KEY" => "7fc3face593147d9af21a6dcf6662693"
]
#attributes: array:3 [
"view" => Slim\Views\Twig {#59
#loader: Twig\Loader\FilesystemLoader {#58
#paths: array:1 [
"__main__" => array:1 [
0 => "/var/www/html/flight/public/../resources/views"
]
]
#cache: []
#errorCache: []
-rootPath: "/var/www/html/flight/public/"
}
#environment: Twig\Environment {#60
-charset: "UTF-8"
-loader: Twig\Loader\FilesystemLoader {#58}
-debug: true
-autoReload: true
-cache: Twig\Cache\NullCache {#61}
-lexer: null
-parser: null
-compiler: null
-globals: array:4 [
"user" => null
"messages" => null
"csp_nonce" => "4swl11KYjV+W3hNE81KLQQ=="
"maps_api_key" => "AIzaSyA9tuI4gMoqHhRmCJnBBruWffkjkNpgq3k"
]
-resolvedGlobals: null
-loadedTemplates: null
-strictVariables: false
-originalCache: false
-extensionSet: Twig\ExtensionSet {#62
-extensions: array:7 [
"Twig\Extension\CoreExtension" => Twig\Extension\CoreExtension {#66
-dateFormats: array:2 [
0 => "F j, Y H:i"
1 => "%d days"
]
-numberFormat: array:3 [
0 => 0
1 => "."
2 => ","
]
-timezone: null
}
"Twig\Extension\EscaperExtension" => Twig\Extension\EscaperExtension {#67
-environment: Twig\Environment {#60}
-escapers: []
-escaper: Twig\Runtime\EscaperRuntime {#68
-escapers: []
+safeClasses: []
+safeLookup: []
-charset: "UTF-8"
}
-defaultStrategy: "html"
}
"Twig\Extension\YieldNotReadyExtension" => Twig\Extension\YieldNotReadyExtension {#69
-useYield: false
}
"Twig\Extension\OptimizerExtension" => Twig\Extension\OptimizerExtension {#70
-optimizers: -1
}
"Slim\Views\TwigExtension" => Slim\Views\TwigExtension {#71}
"Twig\Extension\DebugExtension" => Twig\Extension\DebugExtension {#108}
"Twig\Extra\Intl\IntlExtension" => Twig\Extra\Intl\IntlExtension {#109
-dateFormatters: []
-numberFormatters: []
-dateFormatterPrototype: null
-numberFormatterPrototype: null
}
]
-initialized: false
-runtimeInitialized: false
-staging: Twig\Extension\StagingExtension {#63
-functions: array:11 [
"baseUrl" => Twig\TwigFunction {#81
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "baseUrl"
-dynamicName: "baseUrl"
-callable: Closure() {#85
class: "App\Services\TwigHelper"
use: {
$url: "https://flight.massinflux.com"
}
}
-arguments: []
}
"isProd" => Twig\TwigFunction {#86
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "isProd"
-dynamicName: "isProd"
-callable: Closure() {#87
class: "App\Services\TwigHelper"
use: {
$appEnv: "dev"
}
}
-arguments: []
}
"isLoggedIn" => Twig\TwigFunction {#88
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "isLoggedIn"
-dynamicName: "isLoggedIn"
-callable: Closure() {#89
class: "App\Services\TwigHelper"
use: {
$session: Odan\Session\PhpSession {#82
-storage: ArrayObject {#84
storage: []
flag::STD_PROP_LIST: false
flag::ARRAY_AS_PROPS: false
iteratorClass: "ArrayIterator"
}
-flash: Odan\Session\Flash {#83
-storage: ArrayObject {#84}
-storageKey: "_flash"
}
}
}
}
-arguments: []
}
"user" => Twig\TwigFunction {#90
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "user"
-dynamicName: "user"
-callable: Closure() {#91
class: "App\Services\TwigHelper"
use: {
$session: Odan\Session\PhpSession {#82}
}
}
-arguments: []
}
"routeMatch" => Twig\TwigFunction {#92
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "routeMatch"
-dynamicName: "routeMatch"
-callable: Closure($url) {#93
class: "App\Services\TwigHelper"
}
-arguments: []
}
"path_for" => Twig\TwigFunction {#94
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "path_for"
-dynamicName: "path_for"
-callable: Closure(string $routeName, array $data = [], array $queryParams = []): string {#95
returnType: "string"
class: "App\Services\TwigHelper"
use: {
$routeParser: Slim\Routing\RouteParser {#11
-routeCollector: Slim\Routing\RouteCollector {#38
#routeParser: Slim\Routing\RouteParser {#11}
#callableResolver: Slim\CallableResolver {#6
-container: DI\Container {#29
#resolvedEntries: array:10 [
"DI\Container" => DI\Container {#29}
"Psr\Container\ContainerInterface" => DI\Container {#29}
"DI\FactoryInterface" => DI\Container {#29}
"Invoker\InvokerInterface" => DI\Container {#29}
"settings" => array:9 [
"displayErrorDetails" => true
"addContentLengthHeader" => false
"determineRouteBeforeAppMiddleware" => true
"debug" => true
"public" => "/var/www/html/flight/src/../public"
"renderer" => array:1 [
"template_path" => "/var/www/html/flight/src/../templates/"
]
"db" => array:9 [
"driver" => "mysql"
"host" => "localhost"
"username" => "admin"
"password" => "b9NNzPT%X%975&eQYX$"
"charset" => "utf8mb4"
"collation" => "utf8mb4_unicode_ci"
"prefix" => ""
"strict" => false
"database" => "flight"
]
"maps" => array:1 [
"key" => "AIzaSyA9tuI4gMoqHhRmCJnBBruWffkjkNpgq3k"
]
"session" => array:2 [
"name" => "webapp"
"cache_expire" => 0
]
]
"Odan\Session\SessionInterface" => Odan\Session\PhpSession {#82}
"view" => Slim\Views\Twig {#59}
"Src\Middleware\SessionStartMiddleware" => Src\Middleware\SessionStartMiddleware {#159}
"Slim\Flash\Messages" => Slim\Flash\Messages {#177
#fromPrevious: []
#forNow: []
#forNext: []
#storage: & array:1 [
"slimFlash" => []
]
#storageKey: "slimFlash"
}
"Src\Middleware\SlimFlashMiddleware" => Src\Middleware\SlimFlashMiddleware {#169
-flash: Slim\Flash\Messages {#177}
}
]
-definitionSource: DI\Definition\Source\SourceChain {#28
-sources: array:2 [
0 => DI\Definition\Source\DefinitionArray {#25
-definitions: array:11 [
"flash" => DI\Definition\FactoryDefinition {#20
-name: "flash"
-factory: Closure() {#19}
-parameters: []
}
"environment" => DI\Definition\FactoryDefinition {#2
-name: "environment"
-factory: Closure() {#18}
-parameters: []
}
"Odan\Session\SessionInterface" => DI\Definition\FactoryDefinition {#35
-name: "Odan\Session\SessionInterface"
-factory: Closure(ContainerInterface $container) {#34}
-parameters: []
}
"Slim\Csrf\Guard" => DI\Definition\FactoryDefinition {#14
-name: "Slim\Csrf\Guard"
-factory: Closure() {#9 …1}
-parameters: []
}
"Slim\Interfaces\RouteParserInterface" => DI\Definition\FactoryDefinition {#119
-name: "Slim\Interfaces\RouteParserInterface"
-factory: Closure(ContainerInterface $container) {#118 …1}
-parameters: []
}
"Psr\Http\Message\ResponseFactoryInterface" => DI\Definition\FactoryDefinition {#121
-name: "Psr\Http\Message\ResponseFactoryInterface"
-factory: Closure(ContainerInterface $container) {#120 …1}
-parameters: []
}
"Src\Middleware\UserAuthMiddleware" => DI\Definition\FactoryDefinition {#123
-name: "Src\Middleware\UserAuthMiddleware"
-factory: Closure(ContainerInterface $container) {#122}
-parameters: []
}
"App\Controllers\BaseController" => DI\Definition\FactoryDefinition {#125
-name: "App\Controllers\BaseController"
-factory: Closure(ContainerInterface $container) {#124}
-parameters: []
}
"App\Controllers\HomeController" => DI\Definition\FactoryDefinition {#127
-name: "App\Controllers\HomeController"
-factory: Closure(ContainerInterface $container) {#126}
-parameters: []
}
"App\Controllers\ApiController" => DI\Definition\FactoryDefinition {#129
-name: "App\Controllers\ApiController"
-factory: Closure(ContainerInterface $container) {#128}
-parameters: []
}
"App\Controllers\MapApiController" => DI\Definition\FactoryDefinition {#131
-name: "App\Controllers\MapApiController"
-factory: Closure(ContainerInterface $container) {#130}
-parameters: []
}
]
-wildcardDefinitions: []
-normalizer: DI\Definition\Source\DefinitionNormalizer {#22
-autowiring: DI\Definition\Source\ReflectionBasedAutowiring {#23}
}
}
1 => DI\Definition\Source\ReflectionBasedAutowiring {#27}
]
-rootSource: DI\Definition\Source\SourceChain {#28}
-mutableSource: DI\Definition\Source\DefinitionArray {#25}
}
-definitionResolver: DI\Definition\Resolver\ResolverDispatcher {#26
-container: DI\Container {#29}
-proxyFactory: DI\Proxy\ProxyFactory {#21
-writeProxiesToFile: false
-proxyDirectory: null
-proxyManager: null
}
-arrayResolver: null
-factoryResolver: DI\Definition\Resolver\FactoryResolver {#73
-container: DI\Container {#29}
-invoker: Invoker\Invoker {#79
-callableResolver: Invoker\CallableResolver {#80
-container: DI\Container {#29}
}
-parameterResolver: Invoker\ParameterResolver\ResolverChain {#74
-resolvers: array:4 [
0 => Invoker\ParameterResolver\AssociativeArrayResolver {#75}
1 => DI\Invoker\FactoryParameterResolver {#76 …1}
2 => Invoker\ParameterResolver\NumericArrayResolver {#77}
3 => Invoker\ParameterResolver\DefaultValueResolver {#78}
]
}
-container: DI\Container {#29}
}
-resolver: DI\Definition\Resolver\ResolverDispatcher {#26}
}
-decoratorResolver: null
-objectResolver: DI\Definition\Resolver\ObjectCreator {#150
-proxyFactory: DI\Proxy\ProxyFactory {#21}
-parameterResolver: DI\Definition\Resolver\ParameterResolver {#157
-definitionResolver: DI\Definition\Resolver\ResolverDispatcher {#26}
}
-definitionResolver: DI\Definition\Resolver\ResolverDispatcher {#26}
}
-instanceResolver: null
-envVariableResolver: null
}
-fetchedDefinitions: array:3 [
"Src\Middleware\SessionStartMiddleware" => DI\Definition\ObjectDefinition {#142
-name: "Src\Middleware\SessionStartMiddleware"
#className: null
#constructorInjection: null
#propertyInjections: []
#methodInjections: []
#lazy: null
-classExists: true
-isInstantiable: true
}
"Src\Middleware\SlimFlashMiddleware" => DI\Definition\ObjectDefinition {#166
-name: "Src\Middleware\SlimFlashMiddleware"
#className: null
#constructorInjection: DI\Definition\ObjectDefinition\MethodInjection {#170
-methodName: "__construct"
-parameters: array:1 [
0 => DI\Definition\Reference {#171
-name: ""
-targetEntryName: "Slim\Flash\Messages"
}
]
}
#propertyInjections: []
#methodInjections: []
#lazy: null
-classExists: true
-isInstantiable: true
}
"Slim\Flash\Messages" => DI\Definition\ObjectDefinition {#172
-name: "Slim\Flash\Messages"
#className: null
#constructorInjection: DI\Definition\ObjectDefinition\MethodInjection {#176
-methodName: "__construct"
-parameters: []
}
#propertyInjections: []
#methodInjections: []
#lazy: null
-classExists: true
-isInstantiable: true
}
]
#entriesBeingResolved: []
-invoker: null
#delegateContainer: DI\Container {#29}
#proxyFactory: DI\Proxy\ProxyFactory {#21}
}
}
#container: DI\Container {#29}
#defaultInvocationStrategy: Slim\Handlers\Strategies\RequestResponse {#8}
#basePath: ""
#cacheFile: null
#routes: array:5 [
"route0" => Slim\Routing\Route {#132
#methods: array:1 [
0 => "GET"
]
#identifier: "route0"
#name: "home"
#groups: []
#invocationStrategy: Slim\Handlers\Strategies\RequestResponse {#8}
#arguments: []
#savedArguments: []
#container: DI\Container {#29}
#middlewareDispatcher: Slim\MiddlewareDispatcher {#133
#tip: Slim\Routing\Route {#132}
#callableResolver: Slim\CallableResolver {#6}
#container: DI\Container {#29}
}
#callable: "App\Controllers\HomeController:home"
#callableResolver: Slim\CallableResolver {#6}
#responseFactory: Slim\Psr7\Factory\ResponseFactory {#12}
#pattern: "/"
#groupMiddlewareAppended: false
}
"route1" => Slim\Routing\Route {#134
#methods: array:1 [
0 => "POST"
]
#identifier: "route1"
#name: null
#groups: []
#invocationStrategy: Slim\Handlers\Strategies\RequestResponse {#8}
#arguments: []
#savedArguments: []
#container: DI\Container {#29}
#middlewareDispatcher: Slim\MiddlewareDispatcher {#135
#tip: Slim\Routing\Route {#134}
#callableResolver: Slim\CallableResolver {#6}
#container: DI\Container {#29}
}
#callable: "App\Controllers\ApiController:nfdcIngest"
#callableResolver: Slim\CallableResolver {#6}
#responseFactory: Slim\Psr7\Factory\ResponseFactory {#12}
#pattern: "/api/nfdc-ingest"
#groupMiddlewareAppended: false
}
"route2" => Slim\Routing\Route {#136
#methods: array:1 [
0 => "GET"
]
#identifier: "route2"
#name: null
#groups: []
#invocationStrategy: Slim\Handlers\Strategies\RequestResponse {#8}
#arguments: []
#savedArguments: []
#container: DI\Container {#29}
#middlewareDispatcher: Slim\MiddlewareDispatcher {#137
#tip: Slim\Routing\Route {#136}
#callableResolver: Slim\CallableResolver {#6}
#container: DI\Container {#29}
}
#callable: "App\Controllers\MapApiController:searchAirports"
#callableResolver: Slim\CallableResolver {#6}
#responseFactory: Slim\Psr7\Factory\ResponseFactory {#12}
#pattern: "/api/airports/search"
#groupMiddlewareAppended: false
}
"route3" => Slim\Routing\Route {#138
#methods: array:1 [
0 => "GET"
]
#identifier: "route3"
#name: null
#groups: []
#invocationStrategy: Slim\Handlers\Strategies\RequestResponse {#8}
#arguments: []
#savedArguments: []
#container: DI\Container {#29}
#middlewareDispatcher: Slim\MiddlewareDispatcher {#139
#tip: Slim\Routing\Route {#138}
#callableResolver: Slim\CallableResolver {#6}
#container: DI\Container {#29}
}
#callable: "App\Controllers\MapApiController:getAirportDetails"
#callableResolver: Slim\CallableResolver {#6}
#responseFactory: Slim\Psr7\Factory\ResponseFactory {#12}
#pattern: "/api/airports/{faaSiteNumber}"
#groupMiddlewareAppended: false
}
"route4" => Slim\Routing\Route {#140
#methods: array:1 [
0 => "GET"
]
#identifier: "route4"
#name: null
#groups: []
#invocationStrategy: Slim\Handlers\Strategies\RequestResponse {#8}
#arguments: []
#savedArguments: []
#container: DI\Container {#29}
#middlewareDispatcher: Slim\MiddlewareDispatcher {#141
#tip: Slim\Routing\Route {#140}
#callableResolver: Slim\CallableResolver {#6}
#container: DI\Container {#29}
}
#callable: "App\Controllers\MapApiController:getBboxElements"
#callableResolver: Slim\CallableResolver {#6}
#responseFactory: Slim\Psr7\Factory\ResponseFactory {#12}
#pattern: "/api/map/bbox"
#groupMiddlewareAppended: false
}
]
#routesByName: []
#routeGroups: []
#routeCounter: 5
#responseFactory: Slim\Psr7\Factory\ResponseFactory {#12}
}
-routeParser: FastRoute\RouteParser\Std {#10}
}
}
}
-arguments: []
}
"csrf_field" => Twig\TwigFunction {#96
#options: array:12 [
"is_safe" => array:1 [
0 => "html"
]
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "csrf_field"
-dynamicName: "csrf_field"
-callable: Closure(): Markup {#97
returnType: "Twig\Markup"
class: "App\Services\TwigHelper"
this: App\Services\TwigHelper {#72 …}
}
-arguments: []
}
"today" => Twig\TwigFunction {#98
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "today"
-dynamicName: "today"
-callable: Closure() {#99
class: "App\Services\TwigHelper"
}
-arguments: []
}
"oauthClientId" => Twig\TwigFunction {#100
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "oauthClientId"
-dynamicName: "oauthClientId"
-callable: Closure() {#101
class: "App\Services\TwigHelper"
}
-arguments: []
}
"stripePublicKey" => Twig\TwigFunction {#102
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "stripePublicKey"
-dynamicName: "stripePublicKey"
-callable: Closure() {#103
class: "App\Services\TwigHelper"
}
-arguments: []
}
"domain" => Twig\TwigFunction {#104
#options: array:12 [
"is_safe" => null
"is_safe_callback" => null
"node_class" => "Twig\Node\Expression\FunctionExpression"
"parser_callable" => null
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "domain"
-dynamicName: "domain"
-callable: Closure() {#105
class: "App\Services\TwigHelper"
}
-arguments: []
}
]
-filters: array:1 [
"ucwords" => Twig\TwigFilter {#106
#options: array:13 [
"is_safe" => null
"is_safe_callback" => null
"pre_escape" => null
"preserves_safety" => null
"node_class" => "Twig\Node\Expression\FilterExpression"
"needs_environment" => false
"needs_context" => false
"needs_charset" => false
"is_variadic" => false
"deprecation_info" => null
"deprecated" => false
"deprecating_package" => ""
"alternative" => null
]
-name: "ucwords"
-dynamicName: "ucwords"
-callable: Closure($data) {#107
class: "App\Services\TwigHelper"
}
-arguments: []
}
]
-visitors: []
-tokenParsers: []
-tests: []
}
-parsers: null
-visitors: null
-filters: null
-dynamicFilters: null
-tests: null
-dynamicTests: null
-functions: null
-dynamicFunctions: null
-expressionParsers: ? Twig\ExpressionParser\ExpressionParsers
-globals: null
-functionCallbacks: []
-filterCallbacks: []
-testCallbacks: []
-parserCallbacks: []
-lastModified: 0
}
-runtimeLoaders: array:1 [
0 => Slim\Views\TwigRuntimeLoader {#158
#routeParser: Slim\Routing\RouteParser {#11}
#uri: Slim\Psr7\Uri {#145}
#basePath: ""
}
]
-runtimes: array:1 [
"Twig\Runtime\EscaperRuntime" => Twig\Runtime\EscaperRuntime {#68}
]
-optionsHash: "["Twig\\Extension\\CoreExtension","Twig\\Extension\\EscaperExtension","Twig\\Extension\\YieldNotReadyExtension","Twig\\Extension\\OptimizerExtension","Slim\\Views\\TwigExtension","Twig\\Extension\\DebugExtension","Twig\\Extra\\Intl\\IntlExtension"]:8:5:3.24.0:1:0:0"
-useYield: false
-defaultRuntimeLoader: Twig\RuntimeLoader\FactoryRuntimeLoader {#64
-map: array:1 [
"Twig\Runtime\EscaperRuntime" => Closure() {#65
class: "Twig\Environment"
this: Twig\Environment {#60}
}
]
}
-hotCache: []
}
#defaultVariables: []
}
"__routeParser__" => Slim\Routing\RouteParser {#11}
"__routingResults__" => Slim\Routing\RoutingResults {#173
#dispatcher: Slim\Routing\Dispatcher {#4
-routeCollector: Slim\Routing\RouteCollector {#38}
-dispatcher: Slim\Routing\FastRouteDispatcher {#182
#staticRouteMap: array:2 [
"GET" => array:3 [
"/" => "route0"
"/api/airports/search" => "route2"
"/api/map/bbox" => "route4"
]
"POST" => array:1 [
"/api/nfdc-ingest" => "route1"
]
]
#variableRouteData: array:1 [
"GET" => array:1 [
0 => array:2 [
"regex" => "~^(?|/api/airports/([^/]+))$~"
"routeMap" => array:1 [
2 => array:2 [
0 => "route3"
1 => array:1 [
"faaSiteNumber" => "faaSiteNumber"
]
]
]
]
]
]
-allowedMethods: array:1 [
"/sitemap.xml" => []
]
}
}
#method: "GET"
#uri: "/sitemap.xml"
#routeStatus: 0
#routeIdentifier: null
#routeArguments: []
}
]
#parsedBody: null
#uploadedFiles: []
}
#title: "404 Not Found"
#description: "The requested resource could not be found. Please verify the URI and try again."
trace: {
/var/www/html/flight/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php:76 {
Slim\Middleware\RoutingMiddleware->performRouting(ServerRequestInterface $request): ServerRequestInterface …
› case RoutingResults::NOT_FOUND:
› throw new HttpNotFoundException($request);
›
}
/var/www/html/flight/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php:44 {
Slim\Middleware\RoutingMiddleware->process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface …
› {
› $request = $this->performRouting($request);
› return $handler->handle($request);
}
/var/www/html/flight/vendor/slim/slim/Slim/MiddlewareDispatcher.php:129 {