Il pattern è orientato allo scenario in cui un fruitore debba accedere a risorse di grandi dimensioni e prevede l’utilizzo delle Range Requests definite nella RFC 9110, Section 14. In particolare:
Il fruitore utilizza il metodo HTTP HEAD per ottenere i metadati della risorsa, tra cui la dimensione complessiva indicata dall’header Content-Length e l’header Accept-Ranges che indica il supporto al recupero parziale.
Il fruitore può quindi richiedere porzioni della risorsa tramite l’header Range, ottenendo risposte con status 206 Partial Content e gli header Content-Range e Content-Length relativi al frammento restituito.
Per il corretto funzionamento di questo pattern è essenziale che il gateway preservi l’header Content-Length presente nelle risposte del backend, evitando di sostituirlo con il Transfer-Encoding: chunked.
Configurazione dell’API
Per abilitare il supporto al pattern BULK_RESOURCE_REST su GovWay, accedere alla configurazione dell’API REST nel contesto del profilo ModI. Nella sezione Interazione è disponibile la checkbox Risorse Massive (BULK_RESOURCE_REST) (Fig. 306).
Fig. 306 Abilitazione del pattern BULK_RESOURCE_REST nella configurazione dell’API
Quando la checkbox è abilitata, GovWay preserva automaticamente l’header Content-Length presente nella risposta del backend, inoltrandolo al client al posto del Transfer-Encoding: chunked utilizzato per default. Il comportamento attuato è equivalente a quello descritto dalla proprietà connettori.http.contentLength.preserve documentata nella sezione Content-Length nella risposta.
Nota
La checkbox è disponibile solamente per API di tipo REST. L’abilitazione ha effetto su tutte le risorse dell’API.