Error 429 Too Many Requests

GET https://dev.communesmaroc.com/api/v2/fr/commune/tanger/articles?limit=12&page=2

Forwarded to ErrorController (082734)

Request / Response

Request

GET Parameters

Key Value
limit
"12"
page
"2"

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_api_localized
true
_api_version
2
_controller
"App\Controller\Api\Commune\ArticleController::all"
_firewall_context
"security.firewall.map.context.api"
_locale
"fr"
_remove_csp_headers
true
_route
"api_v2_api_communes_article_get_all"
_route_params
[
  "_locale" => "fr"
  "_api_version" => 2
  "_api_localized" => true
  "commune" => "tanger"
]
_stopwatch_token
"b05f58"
_web_publication_restore
false
commune
"tanger"
locale
"fr"

Request Headers

Header Value
accept
"*/*"
authorization
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3OTI1ODY2MjksImV4cCI6MTc5MzE5MTQyOSwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYXBpQGVsZ2hhZm91ZC5jb20ifQ.DQA3McDOeX7RZU83YIRkO0Cjtj8B924Y9OULukCzA5u6iOdmGHcQCSG5M98GNFv1CtI86tMOZdXkXZdZs8nRB1sDuAxh6G3oFSp4Y9n0KM1QqsxGCC3VVVLYTSQKTbx8teoI4uSXvXyYgAbeLyXG-WOkR5uQl0G_vhbmcHQYiOBbEbF_QhU86hu0wLWYfeTTx5bCEDtbvWQsd_UUkmU8LktWJtndqh_ZvjZJIcpSmRWSy_MU7oVjnhkqtv-w52aNnNAUQx9ykw3Pc8oTW_kGkxBBOMHL13nFtE342lZIDVMWQcDf9f-nOSlFF2xKuxRs3j7vAyK2KA6d_etLUX4gqg"
host
"dev.communesmaroc.com"
user-agent
"PHP RestClient/0.1.7"
x-communesmaroc-internal-token
"14ccd6b48c3aafee29b30d70eb0626957516bb6f2ed330a31ce34126b62cd60c"
x-php-ob-level
"1"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-language
"fr"
content-type
"text/html; charset=UTF-8"
date
"Fri, 23 Oct 2026 14:49:01 GMT"
vary
"Accept"
x-api-version
"2"
x-debug-exception
""
x-debug-exception-file
"%2Fvar%2Fwww%2Fdev.communesmaroc.com%2Fsrc%2FEventSubscriber%2FApiRateLimiterSubscriber.php:49"
x-debug-token
"47c652"
x-debug-token-link
"https://dev.communesmaroc.com/_profiler/082734"
x-previous-debug-token
"082734"
x-robots-tag
"noindex"

Cookies

Request Cookies

No request cookies

Response Cookies

No response cookies

Session

Session Metadata

No session metadata

Session Attributes

No session attributes

Session Usage

0 Usages
Stateless check enabled

Session not used.

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
ACTIVITIES_ENABLED
"1"
ADS_CLIENT
"ca-pub-8082097101099601"
ADS_ENABLED
"0"
AGODA_API_KEY
"f87d3902-5f2a-4dec-9e4e-e8c48cc3b763"
AGODA_CID
"1905943"
AKISMET_KEY
"64c1553ab279"
AMADEUS_API_KEY
"hr6UO7fuhelMh6jUKFKngWFWfA89Gf0v"
AMADEUS_API_SECRET
"z9K6AOANO0RlwVEx"
AMADEUS_BASE_URL
"https://test.api.amadeus.com"
AMADEUS_FLIGHT_BOOKING_ENABLED
"0"
APPLE_IAP_SHARED_SECRET
"ton_secret_apple"
APP_API_KEY
"xfuqienWQIJLcOqbeMrcDR27P1TdXv3kUjyFB00TeQrcpZvYq5vQIJLcOqbeMrcDR27P1TdXv3kUjyFBQIJLcOqbeMrcDR27P1TdXv3kUjyFB00Te00TemAf7an3xuHIEEGLP7QIJLcOqbeMrcDR27P1TdXv3kUjyFB00TeJBJNPLNbeMrcDR27P1TdXv3kUjyFB00TekIq6"
APP_CHECK_BYPASS_IPS
""
APP_CHECK_ENFORCED
"1"
APP_DEBUG
"1"
APP_LOCALES
"en|ar_ma|ar|fr|de|es|nl|it|zh"
APP_SECRET
"dd7b627b5f8577ad683c1493bb0b09c8"
APP_SHARE_DIR
"var/share"
APP_VERSION
"4.2.1"
BOOKING_CJ_HOTELS
""
CAR_RENTALS_ENABLED
"1"
CDM_INTERNAL_API_TOKEN
"14ccd6b48c3aafee29b30d70eb0626957516bb6f2ed330a31ce34126b62cd60c"
CORS_ALLOW_ORIGIN
"^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$"
DATABASE_URL
"mysql://scdm_live:!jQDeS!{A3GP2AgH4g3f@127.0.0.1:3306/sscdm_live?serverVersion=8.0.44&charset=utf8mb4"
DEFAULT_COUNTRY
"fr"
DEFAULT_CURRENCY
"2"
DEFAULT_LOCALE
"en"
DEFAULT_URI
"https://www.communesmaroc.com"
DOCTRINE_L2_CACHE_ENABLED
"false"
ELASTICSEARCH_URL
"http://localhost:9200/"
FIREBASE_CREDENTIALS
"config/firebase/serviceAccountKey.json"
FLIGHTS_ENABLED
"0"
FLIGHT_SEARCH_PROVIDER
"sky_scrapper"
GEMINI_API_KEY
"AIzaSyAkQJ1DLQr2cBcbWtuzPzNBrHtRBMA9Xjc"
GEMINI_API_KEY2
"AQ.Ab8RN6LjioJ-ZtEuDTOFoPQo3DXoDpC947RvWxc9XFIDKffrRg"
GEMINI_MODELS
"gemini-3.1-flash-lite,gemini-2.5-flash-lite,gemini-2.5-flash,gemini-2.5-pro"
GOOGLE_CLIENT_ID
"465347215232-gquktu846g26bpj261bctblddannmukc.apps.googleusercontent.com"
GOOGLE_CLIENT_SECRET
"7l1YjNVFgsS6JYecWQfGsVEa"
GOOGLE_PLACES_API_KEY
"AIzaSyCh5IqnYdyKeHPBRvTYmzKS6OSPrjn9Z2A"
GOOGLE_RECAPTCHA_SECRET
"6Le1vGoUAAAAAPhbFoc-4_pDxKXiwAGd87KzIPov"
GOOGLE_RECAPTCHA_SITE_KEY
"6Le1vGoUAAAAAFbUUa4XEFnzpi17XI6YpOC4Cymk"
GOOGLE_ROUTES_API_KEY
"AIzaSyDda2AqMnR8u4oy85O_JDToyvwDWtEIlA8"
HOTELS_ENABLED
"1"
INDEXNOW_ENABLED
"1"
INDEXNOW_HOST
"www.communesmaroc.com"
INDEXNOW_KEY
"a09719161e3635520cbecd7295c4a54b"
IPDATA_API_KEY
"b8a8054cb7dbe1cb89b3295f0f888320ddbd0d2b94d540ea9b9e46ee"
JWT_PASSPHRASE
"e09ed8623a7bb3ad81e8e9fb04a5cf0f983e2e4e64655bed6845013e860cf246"
JWT_PUBLIC_KEY
"%kernel.project_dir%/config/jwt/public.pem"
JWT_SECRET_KEY
"%kernel.project_dir%/config/jwt/private.pem"
LOCK_DSN
"flock"
MAILER_DSN
"postmark+api://0d0aaed7-6e05-437a-b4be-6f5bcd640355@default"
MEMCACHED_EXPIRE
"172800"
MEMCACHED_HOST
"127.0.0.1"
MEMCACHED_PORT
"11211"
MEMCACHED_PREFIX
"COMMUNE_"
MEMCACHED_SESSION_HOST
"127.0.0.1"
MEMCACHED_SESSION_PORT
"11212"
MESSENGER_TRANSPORT_DSN
"doctrine://default?queue_name=async&auto_setup=0"
ONLINE_BOOKING_ENABLED
"1"
OPENAI_API_KEY
""
OPENAI_ORGANIZATION
""
OPENWEATHERMAP_APPID
"0fc73a59f0feb21f902487396bfb5359"
OPENWEATHERMAP_APPID2
"9ef2dec6df1c27cfdf702a60969cd85b"
PAYMENT_RECEIPTS_EMAIL_ENABLED
"1"
PAYUM_CYPHER_KEY
"def000009de0e9cb332a7c1df3210a71884f943db5a75ffa190da10497caa07214a03dbc13fd2f646179c1690145fd504a2955b3ffe55681f8c88898e75111f65ea4b69e"
POSTMARK_BROADCAST_WEBHOOK_TOKEN
"d672841d6bb82ca64f8d83b9e89f5f19"
POSTMARK_INBOUND_ADDRESS
""
POSTMARK_TRANSACTIONAL_WEBHOOK_TOKEN
"d672841d6bb82ca64f8d83b9e89f5f19"
POSTMARK_WEBHOOK_TOKEN
"d672841d6bb82ca64f8d83b9e89f5f19"
RAPIDAPI_KEY
"696e1aa506msh09ff82b2ebf0dbfp111bf8jsn18be090e732a"
RECAPTCHA3_ENABLED
"1"
RECAPTCHA3_KEY
"6Ld2rUIiAAAAACBT2LnP_BbZIfSQJzPde78K5WS1"
RECAPTCHA3_SECRET
"6Ld2rUIiAAAAAD_w6e2Kv-y-h7bGyXf7Dc2WKlPU"
RELYING_PARTY_FAVICON
"https://dev.communesmaroc.com/favicon.ico"
RELYING_PARTY_ID
"dev.communesmaroc.com"
RELYING_PARTY_NAME
"Communes du Maroc"
SENDER_NAME
"Communes Du Maroc"
SLM_ARTICLE_CATEGORY_ID
"46"
SLM_ARTICLE_PROVIDER_ID
"3709"
SLM_ARTICLE_USER_ID
"1154"
SOCIALDATA_API_KEY
"10946|xpH84NxTNBIQ6gOeb80iNEjJfA2Du96nzNBSa85Hf8fe79e3"
SOCIALDATA_BASE_URL
"https://api.socialdata.tools"
SOCIAL_INSTAGRAM_ACCOUNT_ID
""
SOCIAL_META_ACCESS_TOKEN
"EAAWX2TknKrUBSmu0aRBfZBb5LTvLGgsMOUADi5ckQdIzFdv2L3RFX35D6HR18vFNHpbDPfsNKwzSEU8siOfYikPU0mw3bG7JhwpRD70zHgZAJopAUNBefl61RVH38UXoLTOkR1mr1qvIdaL7SaW0getoTr9T5idQyHALftJekBTVMLiv11hLQkZAHM9egFVBZCEXWNzCDCok1KCqpY8k20snZB0qzklNPe4jTRx4UdvBcLQZDZD"
SOCIAL_META_GRAPH_URL
"https://graph.facebook.com"
SOCIAL_META_GRAPH_VERSION
"v25.0"
SOCIAL_META_PAGE_ID
""
SOCIAL_PUBLIC_BASE_URL
"https://www.communesmaroc.com"
SOCIAL_X_ACCESS_TOKEN
""
SOCIAL_X_API_URL
"https://api.x.com"
SOCIAL_X_USERNAME
""
SPONSOR_REWARD_AMOUNT
"10"
STAY_ENABLED
"1"
STRIPE_PUBLISHABLE_KEY
"pk_test_51Kg8ZzCHi3OXLNCHIEanYZJqVsqGuZPWT8d3WHXG4b7D5naRqw3GdRNfoTjmbSzfZiKCPNuUDbcQYBE9BwYrW7CF008SeCneWb"
STRIPE_SECRET_KEY
"sk_test_51Kg8ZzCHi3OXLNCHiwtBguUH3KsDDk5s1nfHlclMwcAuZuvmfkIecGFgSfdYebLIw1xDcuswCANQ1Zvfsgp1lm0z00nJSylCev"
STRIPE_WEBHOOK_SECRET
"whsec_acNNOWRWQeGavw6vvSfIsg9PkSZ6gDwg"
TOURS_ENABLED
"1"
TRAVEL_DOCUMENTS_EMAIL_ENABLED
"1"
TRIPADVISOR_API_BASE_URL
"https://terra.tripadvisor.com/api"
TRIPADVISOR_API_KEY
"AC8738CAAC764F7F90BEDA91AAA0E7D3"
TRIPADVISOR_DISCOVER_API_KEY
"375ae6cd-2cf3-467b-8d63-33e96619464f"
TRIPADVISOR_REFERER
"https://dev.communesmaroc.com"
TRUSTED_IPS
""
TURNSTILE_ENABLED
"0"
TURNSTILE_SECRET_KEY
""
TURNSTILE_SITE_KEY
""
UNSPLASH_ACCESS_KEY
"sG24IN5qiRHqwfq-pRgMjrVjhgRxwAcU-pwOenOrRcI"
UNSPLASH_SECRET_KEY
"fv4qeNltQjhW9Pi9R5amF7EwD6EcBIapnyk-YUjECQk"
USER_ADDRESS
"contact@communesmaroc.com"
WEATHER_NOTIFICATIONS_ENABLED
"1"
WELCOME_REWARD_AMOUNT
"10"
ZENROWS_API_KEY
"9c6aa929371afdc311f067d093dcd7c7622d2813"

Defined as regular env variables

Key Value
APP_ENV
"dev"
APP_PROJECT_DIR
"/var/www/dev.communesmaroc.com"
APP_RUNTIME
"Symfony\Component\Runtime\SymfonyRuntime"
APP_RUNTIME_OPTIONS
[
  "project_dir" => "/var/www/dev.communesmaroc.com"
]
CONTENT_LENGTH
""
CONTENT_TYPE
""
DOCUMENT_ROOT
"/var/www/dev.communesmaroc.com/public"
DOCUMENT_URI
"/index.php"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
HOME
"/var/www"
HTTPS
"on"
HTTP_ACCEPT
"*/*"
HTTP_AUTHORIZATION
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3OTI1ODY2MjksImV4cCI6MTc5MzE5MTQyOSwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYXBpQGVsZ2hhZm91ZC5jb20ifQ.DQA3McDOeX7RZU83YIRkO0Cjtj8B924Y9OULukCzA5u6iOdmGHcQCSG5M98GNFv1CtI86tMOZdXkXZdZs8nRB1sDuAxh6G3oFSp4Y9n0KM1QqsxGCC3VVVLYTSQKTbx8teoI4uSXvXyYgAbeLyXG-WOkR5uQl0G_vhbmcHQYiOBbEbF_QhU86hu0wLWYfeTTx5bCEDtbvWQsd_UUkmU8LktWJtndqh_ZvjZJIcpSmRWSy_MU7oVjnhkqtv-w52aNnNAUQx9ykw3Pc8oTW_kGkxBBOMHL13nFtE342lZIDVMWQcDf9f-nOSlFF2xKuxRs3j7vAyK2KA6d_etLUX4gqg"
HTTP_HOST
"dev.communesmaroc.com"
HTTP_USER_AGENT
"PHP RestClient/0.1.7"
HTTP_X_COMMUNESMAROC_INTERNAL_TOKEN
"14ccd6b48c3aafee29b30d70eb0626957516bb6f2ed330a31ce34126b62cd60c"
PHP_SELF
"/index.php"
QUERY_STRING
"limit=12&page=2"
REDIRECT_STATUS
"200"
REMOTE_ADDR
"158.69.26.72"
REMOTE_PORT
"57364"
REMOTE_USER
""
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1792766941
REQUEST_TIME_FLOAT
1792766941.216
REQUEST_URI
"/api/v2/fr/commune/tanger/articles?limit=12&page=2"
SCRIPT_FILENAME
"/var/www/dev.communesmaroc.com/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"158.69.26.72"
SERVER_NAME
"dev.communesmaroc.com"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/2.0"
SERVER_SOFTWARE
"nginx/1.18.0"
SYMFONY_DOTENV_PATH
"/var/www/dev.communesmaroc.com/.env"
SYMFONY_DOTENV_VARS
"APP_SECRET,APP_DEBUG,APP_VERSION,APP_SHARE_DIR,DEFAULT_URI,APP_LOCALES,DEFAULT_LOCALE,DEFAULT_CURRENCY,DEFAULT_COUNTRY,DATABASE_URL,DOCTRINE_L2_CACHE_ENABLED,MEMCACHED_HOST,MEMCACHED_PORT,MEMCACHED_PREFIX,MEMCACHED_EXPIRE,MEMCACHED_SESSION_HOST,MEMCACHED_SESSION_PORT,ELASTICSEARCH_URL,MESSENGER_TRANSPORT_DSN,LOCK_DSN,JWT_SECRET_KEY,JWT_PUBLIC_KEY,JWT_PASSPHRASE,RELYING_PARTY_ID,RELYING_PARTY_NAME,RELYING_PARTY_FAVICON,GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET,APP_API_KEY,CDM_INTERNAL_API_TOKEN,CORS_ALLOW_ORIGIN,APP_CHECK_ENFORCED,APP_CHECK_BYPASS_IPS,RECAPTCHA3_ENABLED,TURNSTILE_ENABLED,TURNSTILE_SITE_KEY,TURNSTILE_SECRET_KEY,RECAPTCHA3_KEY,RECAPTCHA3_SECRET,GOOGLE_RECAPTCHA_SITE_KEY,GOOGLE_RECAPTCHA_SECRET,AKISMET_KEY,IPDATA_API_KEY,TRUSTED_IPS,MAILER_DSN,USER_ADDRESS,SENDER_NAME,POSTMARK_WEBHOOK_TOKEN,POSTMARK_INBOUND_ADDRESS,FIREBASE_CREDENTIALS,WEATHER_NOTIFICATIONS_ENABLED,TRAVEL_DOCUMENTS_EMAIL_ENABLED,PAYMENT_RECEIPTS_EMAIL_ENABLED,ACTIVITIES_ENABLED,TOURS_ENABLED,HOTELS_ENABLED,FLIGHTS_ENABLED,STAY_ENABLED,CAR_RENTALS_ENABLED,ONLINE_BOOKING_ENABLED,STRIPE_PUBLISHABLE_KEY,STRIPE_SECRET_KEY,PAYUM_CYPHER_KEY,STRIPE_WEBHOOK_SECRET,APPLE_IAP_SHARED_SECRET,WELCOME_REWARD_AMOUNT,SPONSOR_REWARD_AMOUNT,AGODA_API_KEY,BOOKING_CJ_HOTELS,AGODA_CID,AMADEUS_API_KEY,AMADEUS_API_SECRET,AMADEUS_BASE_URL,AMADEUS_FLIGHT_BOOKING_ENABLED,RAPIDAPI_KEY,FLIGHT_SEARCH_PROVIDER,TRIPADVISOR_API_KEY,TRIPADVISOR_DISCOVER_API_KEY,TRIPADVISOR_REFERER,TRIPADVISOR_API_BASE_URL,GOOGLE_PLACES_API_KEY,GOOGLE_ROUTES_API_KEY,OPENWEATHERMAP_APPID,OPENWEATHERMAP_APPID2,GEMINI_API_KEY,GEMINI_MODELS,OPENAI_API_KEY,OPENAI_ORGANIZATION,SLM_ARTICLE_USER_ID,SLM_ARTICLE_CATEGORY_ID,SLM_ARTICLE_PROVIDER_ID,SOCIALDATA_API_KEY,SOCIALDATA_BASE_URL,SOCIAL_PUBLIC_BASE_URL,SOCIAL_META_GRAPH_URL,SOCIAL_META_GRAPH_VERSION,SOCIAL_META_ACCESS_TOKEN,SOCIAL_META_PAGE_ID,SOCIAL_INSTAGRAM_ACCOUNT_ID,SOCIAL_X_API_URL,SOCIAL_X_ACCESS_TOKEN,SOCIAL_X_USERNAME,INDEXNOW_ENABLED,INDEXNOW_HOST,INDEXNOW_KEY,ADS_ENABLED,ADS_CLIENT,POSTMARK_BROADCAST_WEBHOOK_TOKEN,POSTMARK_TRANSACTIONAL_WEBHOOK_TOKEN,GEMINI_API_KEY2,ZENROWS_API_KEY,UNSPLASH_ACCESS_KEY,UNSPLASH_SECRET_KEY"
USER
"www-data"

Sub Requests 1

ErrorController (token = 082734)

Key Value
_controller
"error_controller"
_stopwatch_token
"439d1c"
_web_publication_restore
true
exception
Symfony\Component\HttpKernel\Exception\TooManyRequestsHttpException {#4098
  #message: ""
  #code: 0
  #file: "/var/www/dev.communesmaroc.com/src/EventSubscriber/ApiRateLimiterSubscriber.php"
  #line: 49
  -statusCode: 429
  -headers: []
  trace: {
    /var/www/dev.communesmaroc.com/src/EventSubscriber/ApiRateLimiterSubscriber.php:49 {
      App\EventSubscriber\ApiRateLimiterSubscriber->onKernelRequest(RequestEvent $event): void …
      › if (false === $ipLimiter->consume ( 1 )->isAccepted ()) {
      › \tthrow new TooManyRequestsHttpException ();
      › }
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
      Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
      › try {
      ›     ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
      › } finally {
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
      Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
      ›     }
      ›     $listener($event, $eventName, $this);
      › }
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
      Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
      › if ($listeners) {
      ›     $this->callListeners($listeners, $eventName, $event);
      › }
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
      Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
      › try {
      ›     $this->dispatcher->dispatch($event, $eventName);
      › } finally {
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/HttpKernel.php:159 {
      Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
      › $event = new RequestEvent($this, $request, $type);
      › $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
      › 
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/HttpKernel.php:76 {
      Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {
      ›     return $response = $this->handleRaw($request, $type);
      › } catch (\Throwable $e) {
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/Kernel.php:193 {
      Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {
      ›     return $this->getHttpKernel()->handle($request, $type, $catch);
      › } finally {
    }
    /var/www/dev.communesmaroc.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
      Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
      › {
      ›     $response = $this->kernel->handle($this->request);
      › 
    }
    /var/www/dev.communesmaroc.com/vendor/autoload_runtime.php:32 {
      require_once …
      ›         ->getRunner($app)
      ›         ->run()
      › );
    }
    /var/www/dev.communesmaroc.com/public/index.php:133 {
      › 
      › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
      › 
      arguments: {
        "/var/www/dev.communesmaroc.com/vendor/autoload_runtime.php"
      }
    }
  }
}
logger
Symfony\Bridge\Monolog\Processor\DebugProcessor {#2331
  -records: [
    4 => [
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.312+00:00"
        "message" => "Connecting with parameters {params}"
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "params" => [
            "use_savepoints" => true
            "charset" => "utf8mb4"
            "driver" => "pdo_mysql"
            "idle_connection_ttl" => 600
            "host" => "127.0.0.1"
            "port" => 3306
            "user" => "scdm_live"
            "password" => "<redacted>"
            "driverOptions" => []
            "defaultTableOptions" => [
              "charset" => "utf8mb4"
              "collate" => "utf8mb4_unicode_ci"
            ]
            "dbname" => "sscdm_live"
            "serverVersion" => "8.0.44"
          ]
        ]
        "channel" => "doctrine"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.335+00:00"
        "message" => "Lock acquired, now computing item "{key}""
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "key" => "api_count_158_69_26_72"
        ]
        "channel" => "cache"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.350+00:00"
        "message" => "Matched route "{route}"."
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "route" => "api_v2_api_communes_article_get_all"
          "route_parameters" => [
            "_route" => "api_v2_api_communes_article_get_all"
            "_controller" => "App\Controller\Api\Commune\ArticleController::all"
            "_locale" => "fr"
            "_api_version" => 2
            "_api_localized" => true
            "commune" => "tanger"
          ]
          "request_uri" => "https://dev.communesmaroc.com/api/v2/fr/commune/tanger/articles?limit=12&page=2"
          "method" => "GET"
        ]
        "channel" => "request"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.354+00:00"
        "message" => "Checking for authenticator support."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "firewall_name" => "api"
          "authenticators" => 1
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.354+00:00"
        "message" => "Checking support on authenticator."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "firewall_name" => "api"
          "authenticator" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator"
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.391+00:00"
        "message" => "User Deprecated: Since symfony/security-http 7.3: Implementing "App\Entity\User::eraseCredentials()" is deprecated since Symfony 7.3; add the #[\Deprecated] attribute on the method to signal its either empty or that you moved the logic elsewhere, typically to the "__serialize()" method."
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "exception" => ErrorException {#4084
            #message: "User Deprecated: Since symfony/security-http 7.3: Implementing "App\Entity\User::eraseCredentials()" is deprecated since Symfony 7.3; add the #[\Deprecated] attribute on the method to signal its either empty or that you moved the logic elsewhere, typically to the "__serialize()" method."
            #code: 0
            #file: "/var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authentication/AuthenticatorManager.php"
            #line: 321
            #severity: E_USER_DEPRECATED
            trace: {
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:321 {
                Symfony\Component\Security\Http\Authentication\AuthenticatorManager::checkEraseCredentials(Symfony\Component\Security\Core\Authentication\Token\TokenInterface|Symfony\Component\Security\Core\User\UserInterface|null $token): UserInterface|null …
                › if ($deprecatedImplementations[$token::class]) {
                ›     trigger_deprecation('symfony/security-http', '7.3', 'Implementing "%s::eraseCredentials()" is deprecated since Symfony 7.3; add the #[\Deprecated] attribute on the method to signal its either empty or that you moved the logic elsewhere, typically to the "__serialize()" method.', get_debug_type($token));
                › 
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:310 {
                Symfony\Component\Security\Http\Authentication\AuthenticatorManager::checkEraseCredentials(Symfony\Component\Security\Core\Authentication\Token\TokenInterface|Symfony\Component\Security\Core\User\UserInterface|null $token): UserInterface|null …
                › if ($genericImplementations[$token::class]) {
                ›     return self::checkEraseCredentials($token->getUser());
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:213 {
                Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticator(AuthenticatorInterface $authenticator, Request $request): Response …
                › if ($this->eraseCredentials) {
                ›     self::checkEraseCredentials($authenticatedToken)?->eraseCredentials();
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:167 {
                Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticators(array $authenticators, Request $request): Response …
                › 
                › $response = $this->executeAuthenticator($authenticator, $request);
                › if (null !== $response) {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authentication/AuthenticatorManager.php:149 {
                Symfony\Component\Security\Http\Authentication\AuthenticatorManager->authenticateRequest(Request $request): Response …
                › 
                ›     return $this->executeAuthenticators($authenticators, $request);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php:38 {
                Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener->authenticate(RequestEvent $event): void …
                › $request = $event->getRequest();
                › $response = $this->authenticatorManager->authenticateRequest($request);
                › if (null === $response) {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php:58 {
                Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener->authenticate(RequestEvent $event): void …
                › {
                ›     $this->authenticationManagerListener->authenticate($event);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-bundle/Debug/WrappedLazyListener.php:46 {
                Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate(RequestEvent $event): void …
                › try {
                ›     $this->listener->authenticate($event);
                › } catch (LazyResponseException $e) {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:94 {
                Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(RequestEvent $event, iterable $listeners): void …
                › } elseif (false !== $listener->supports($event->getRequest())) {
                ›     $listener->authenticate($event);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/security-http/Firewall.php:93 {
                Symfony\Component\Security\Http\Firewall->onKernelRequest(RequestEvent $event) …
                › 
                ›     $this->callListeners($event, $authenticationListeners());
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
                Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
                › try {
                ›     ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
                › } finally {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
                Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
                ›     }
                ›     $listener($event, $eventName, $this);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
                Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
                › if ($listeners) {
                ›     $this->callListeners($listeners, $eventName, $event);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
                Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
                › try {
                ›     $this->dispatcher->dispatch($event, $eventName);
                › } finally {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/HttpKernel.php:159 {
                Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
                › $event = new RequestEvent($this, $request, $type);
                › $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
                › 
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/HttpKernel.php:76 {
                Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {
                ›     return $response = $this->handleRaw($request, $type);
                › } catch (\Throwable $e) {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/Kernel.php:193 {
                Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {
                ›     return $this->getHttpKernel()->handle($request, $type, $catch);
                › } finally {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
                Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
                › {
                ›     $response = $this->kernel->handle($this->request);
                › 
              }
              /var/www/dev.communesmaroc.com/vendor/autoload_runtime.php:32 {
                require_once …
                ›         ->getRunner($app)
                ›         ->run()
                › );
              }
              /var/www/dev.communesmaroc.com/public/index.php:133 {
                › 
                › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
                › 
                arguments: {
                  "/var/www/dev.communesmaroc.com/vendor/autoload_runtime.php"
                }
              }
            }
          }
        ]
        "channel" => "deprecation"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.391+00:00"
        "message" => "Authenticator successful!"
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "token" => Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\Token\JWTPostAuthenticationToken {#4060
            -user: App\Entity\User {#3126 …}
            -roleNames: [
              "ROLE_USER"
            ]
            -attributes: []
            -firewallName: "api"
            -token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3OTI1ODY2MjksImV4cCI6MTc5MzE5MTQyOSwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYXBpQGVsZ2hhZm91ZC5jb20ifQ.DQA3McDOeX7RZU83YIRkO0Cjtj8B924Y9OULukCzA5u6iOdmGHcQCSG5M98GNFv1CtI86tMOZdXkXZdZs8nRB1sDuAxh6G3oFSp4Y9n0KM1QqsxGCC3VVVLYTSQKTbx8teoI4uSXvXyYgAbeLyXG-WOkR5uQl0G_vhbmcHQYiOBbEbF_QhU86hu0wLWYfeTTx5bCEDtbvWQsd_UUkmU8LktWJtndqh_ZvjZJIcpSmRWSy_MU7oVjnhkqtv-w52aNnNAUQx9ykw3Pc8oTW_kGkxBBOMHL13nFtE342lZIDVMWQcDf9f-nOSlFF2xKuxRs3j7vAyK2KA6d_etLUX4gqg"
          }
          "authenticator" => "Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator"
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.392+00:00"
        "message" => "Authenticator set no success response: request continues."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "authenticator" => "Lexik\Bundle\JWTAuthenticationBundle\Security\Authenticator\JWTAuthenticator"
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1792766941
        "timestamp_rfc3339" => "2026-10-23T14:49:01.397+00:00"
        "message" => "Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\TooManyRequestsHttpException: "" at ApiRateLimiterSubscriber.php line 49"
        "priority" => 400
        "priorityName" => "ERROR"
        "context" => [
          "exception" => Symfony\Component\HttpKernel\Exception\TooManyRequestsHttpException {#4098
            #message: ""
            #code: 0
            #file: "/var/www/dev.communesmaroc.com/src/EventSubscriber/ApiRateLimiterSubscriber.php"
            #line: 49
            -statusCode: 429
            -headers: []
            trace: {
              /var/www/dev.communesmaroc.com/src/EventSubscriber/ApiRateLimiterSubscriber.php:49 {
                App\EventSubscriber\ApiRateLimiterSubscriber->onKernelRequest(RequestEvent $event): void …
                › if (false === $ipLimiter->consume ( 1 )->isAccepted ()) {
                › \tthrow new TooManyRequestsHttpException ();
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
                Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
                › try {
                ›     ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
                › } finally {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
                Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
                ›     }
                ›     $listener($event, $eventName, $this);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
                Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
                › if ($listeners) {
                ›     $this->callListeners($listeners, $eventName, $event);
                › }
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
                Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
                › try {
                ›     $this->dispatcher->dispatch($event, $eventName);
                › } finally {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/HttpKernel.php:159 {
                Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
                › $event = new RequestEvent($this, $request, $type);
                › $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
                › 
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/HttpKernel.php:76 {
                Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {
                ›     return $response = $this->handleRaw($request, $type);
                › } catch (\Throwable $e) {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/http-kernel/Kernel.php:193 {
                Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {
                ›     return $this->getHttpKernel()->handle($request, $type, $catch);
                › } finally {
              }
              /var/www/dev.communesmaroc.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {
                Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run(): int …
                › {
                ›     $response = $this->kernel->handle($this->request);
                › 
              }
              /var/www/dev.communesmaroc.com/vendor/autoload_runtime.php:32 {
                require_once …
                ›         ->getRunner($app)
                ›         ->run()
                › );
              }
              /var/www/dev.communesmaroc.com/public/index.php:133 {
                › 
                › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
                › 
                arguments: {
                  "/var/www/dev.communesmaroc.com/vendor/autoload_runtime.php"
                }
              }
            }
          }
        ]
        "channel" => "request"
      ]
    ]
  ]
  -errorCount: [
    4 => 1
  ]
  -requestStack: Symfony\Component\HttpKernel\Debug\VirtualRequestStack {#2421 …}
}