Implement Vulcain directly in API Platform Core
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- php
- Ambito
- api, backend-api-design, performance
Direzione di ricerca
Inizia esaminando gli API Platform providers e il filtro "property" esistente, poiché l’issue li identifica come punti di ingresso rilevanti. Il lavoro sarebbe completato quando gli early hints e il filtraggio in stile Vulcain fossero implementati direttamente in API Platform Core, ma l’issue non indica file o test specifici.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The API Platform distribution has been including the Vulcain Gateway server for some time now.
Since API Platform 3.2, the API Platform distribution also uses FrankenPHP, which allows the HTTP status code "103 Early Hints" to be used directly from PHP.
Although the Vulcain Gateway server now supports the sending of 103 Early Hints in addition to HTTP/2 Server Push, this is almost useless do that in the gateway server: the Gateway server must retrieve the full JSON response from the upstream PHP server before it can calculate which resources to send. If the response is already in the cache of a reverse proxy, sending 103 is useless (the final response containing Preload hints added by the gateway server will be sent immediately). Otherwise, the proxy will have to wait for the JSON to be generated by the PHP server before calculating the 103 links, so we're in the same situation.
What would be better - in case the response is not already in the reverse proxy cache - would be for the PHP server to send the 103 response as soon as possible: ideally, in Platform API providers, when the data has been retrieved from the persistence layer, but before serialization generation (which is known to be a tedious task).
In addition to preloading, it would be interesting to also implement the filtering part of Vulcain (building on the existing "property" filter). This would not be very useful for responses that can be cached (it's better to store the complete response in the cache, and let the proxy do the filtering), but it will prevent some useless work when the response isn't cacheable.
- Lingua principale
- PHP
- Stelle
- 2.6k
- Fork
- 989
- Merge medio
- 2g 1h
- PR unite (30g)
- 104
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di api-platform/core
-
JSON:API: resource schemas (`*.jsonapi`) have `properties` but no `type: object`Forse già presa @ousamabenyounes l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 80/100
api-platform/core#8701 ·
I maintainer di solito rispondono entro 1 giorno
-
JSON:API: `JsonApiCollectionBaseSchemaNoPagination` declares `data` as `type: array` without `items`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
api-platform/core#8699 ·
I maintainer di solito rispondono entro 1 giorno
-
api:openapi:export --spec-version=3.0.0 outputs `webhooks`, which is invalid in OpenAPI 3.0Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
api-platform/core#8690 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
api-platform/core#8680 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
api-platform/core#8725 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di api-platform/core
Issue simili
-
create:theme --tailwind scaffolds version.yaml at 1.0.0 while the LESS variant scaffolds 1.0.1Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
PHP workflow streaming requests buffer the full SSE responseForse già presa @Winoren l’ha presa oggi. Apertareview: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
langgenius/dify#44270 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
bug customer-reported
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
MagnaCapax/PMSS#1085 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
nunomaduro/collision#375 ·