Skip to content

ℹ️ Implementação para carregar assets. - #62

Open
HellFiveOsborn wants to merge 6 commits into
robsonvleite:masterfrom
HellFiveOsborn:master
Open

ℹ️ Implementação para carregar assets.#62
HellFiveOsborn wants to merge 6 commits into
robsonvleite:masterfrom
HellFiveOsborn:master

Conversation

@HellFiveOsborn

Copy link
Copy Markdown

🚀 Otimiza carregamento de assets e implementa caching eficiente

  • ✨ Adiciona método $router->setAssets() para servir arquivos estáticos
  • 🔧 Usa finfo_file() para detecção automática de MIME types
  • 📦 Implementa headers de caching (ETag, Last-Modified)
  • 🏎️ Adiciona suporte a 304 Not Modified para reduzir tráfego
  • 📊 Implementa leitura em chunks para melhor gerenciamento de memória

- ✨ Adiciona método `assets()` para servir arquivos estáticos
- 🔧 Usa `finfo_file()` para detecção automática de MIME types
- 📦 Implementa headers de caching (ETag, Last-Modified)
- 🏎️ Adiciona suporte a 304 Not Modified para reduzir tráfego
- 📊 Implementa leitura em chunks para melhor gerenciamento de memória
- 🔗 Integra verificação de assets no método `dispatch()`
- ✨ Adiciona método `$router->setAssets(PATH)` para servir arquivos estáticos
- 🔧 Usa `finfo_file()` para detecção automática de MIME types
- 📦 Implementa headers de caching (ETag, Last-Modified)
- 🏎️ Adiciona suporte a 304 Not Modified para reduzir tráfego
- 📊 Implementa leitura em chunks para melhor gerenciamento de memória
- 🔗 Integra verificação de assets no método `dispatch()`
✨ Adicionado método `setCache` para definir o tempo de cache.
🔧 Melhorado o controle de cache no método `assets` com base no tempo de cache definido.
✨ Adicionado método `getMimeType` para determinar o tipo MIME do arquivo.
✅ Adicionado método `notModified` para verificar se o arquivo foi modificado.
📂 Adicionado método `readFileChunked` para ler o arquivo em chunks.
✅ Configurado Pest PHP como framework de testes
✅ Criados testes abrangentes para Router, RouterTrait e Dispatch
✅ Adicionado TestCase base com helpers para simulação de requisições
✅ Configurado phpunit.xml otimizado para Pest
✅ Criado script run-tests.sh para execução confiável dos testes
✅ Atualizado .gitignore com entradas para PHP/Pest
✅ Melhorado type hints e compatibilidade com PHP 8.0+
✅ Corrigidos problemas de configuração que suprimiam output dos testes

Testes incluem:
- 26 testes para Router (construtor, métodos HTTP, configuração, assets)
- 29 testes para RouterTrait (rotas, spoofing, middlewares, execução)
- 33 testes para Dispatch (gerenciamento de rotas, redirecionamentos)
- Testes de integração para roteamento completo

Total: 88 testes passando com 100% de cobertura das funcionalidades principais
…ssets, HEAD/OPTIONS/405, constraints, helpers, CLI, docs

BREAKING: 405 for method mismatch; preserve CoffeeCode namespace for BC. See [CHANGELOG.md](CHANGELOG.md:5). Author: HellFiveOsborn <anonimo@mail.com> | Lightning: cuttinggate97@walletofsatoshi.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant