Fastify plugin pentru a redirectiona cererea HTTP curenta catre alt server. HTTP2 la HTTP este acceptat si.
Instalare
Compatibilitate cu fastify-multipart
fastify-reply-from si fastify-multipart nu ar trebui sa fie inregistrate ca pluginuri pentru frati si nici nu ar trebui sa fie inregistrate in pluginuri care au o relatie parinte-copil.
Cele doua pluginuri sunt incompatibile, in sensul ca comportamentul fastify-reply-from ar putea sa nu fie cel asteptat atunci cand conditiile mentionate mai sus nu sunt respectate.
Acest lucru se datoreaza faptului ca fastify-multipart consuma continutul multipart analizandu-l, prin urmare acest continut nu este redirectionat catre serviciul tinta prin fastify-reply-from.
Cu toate acestea, cele doua pluginuri pot fi utilizate in cadrul aceleiasi instante de fastify, cu conditia sa apartina ramurilor disjuncte ale arborelui ierarhic al pluginurilor fastify.
Utilizare
Urmatorul exemplu configureaza doua servere Fastify si redirectioneaza solicitarea de la unul la altul:
API
Optiuni de plugin
baza
Setati adresa URL de baza pentru toate solicitarile redirectionate. Va fi necesar daca http2 este setat la adevarat Retineti ca fiecare cale va fi abandonata .
Protocoalele URL personalizate unix + http: si unix + https: pot fi utilizate pentru a redirectiona cereri catre un server socket unix utilizand querystring.escape (socketPath) ca nume de gazda. Acest lucru nu este acceptat pentru http2 si nici pentru undici. Pentru a ilustra:
undici
In mod implicit, undici va fi utilizat pentru a efectua solicitarile HTTP / 1.1. Activarea acestui semnal ar trebui sa garanteze cu 20-50% mai mult randament.
Acest semnal poate controla setarile clientului undici, astfel:
Vedeti optiunile proprii undici pentru mai multe configuratii.
http
Setati optiunea http la adevarat sau la un obiect pentru a utiliza Nodul http.request va fi utilizat daca nu activati http2. Pentru a personaliza cererea, puteti trece in agentOptiuni si solicitareOptiuni. Pentru a ilustra:
De asemenea, puteti trece agenti HTTP personalizati. Daca treceti agentii, atunci http.agentOptions va fi ignorat. Pentru a ilustra:
mature.com porno gay españoles
cine porno español inciesto español
porno hentail gorditas tetonas
abuelasputas rebeca linares masaje
zofilia xxx corridas a chorro
videos porno caseros españoles corriendose dentro
parejas pilladas follando peliculas porno gay en español
tetas en las playas concursos nudistas
penes negros videos porno subtitulados
porno retro maduras ariana grande porno
parejas liberales españolas trio con mi esposa
chupame las tetas incesto real xxx
amas de casa infieles incestos lesbicos
tata_latina follada real
porno libre www.sex
porno suizo corridas en el culo
heidi porno travestis maduras
xxxhd pornovideo
se corre dentro de su prima asiatica forzada
paja en publico muy jovencitas porno
Agent ({keepAliveMsecs: 10 * 60 * 1000})}, requestOptions: {// treceti in orice optiuni de la https://nodejs.org/api/http.html#http_http_request_options_callback timeout: 5000 // timeout in msecs, implicit la 10000 (10 secunde)}}})
http2
Puteti sa setati http2 la adevarat sau sa setati obiectul de setari pentru a va conecta la un server HTTP / 2. Obiectul setarilor http2 are forma:
cacheURL-uri
Numarul de adrese URL analizate care vor fi memorate in cache. Implicit: 100.
disableCache
Aceasta optiune va dezactiva cache-ul URL. Acest cache este dedicat pentru a reduce cantitatea de generare a obiectelor URL. Generarea adreselor URL este un blocaj principal al acestui modul, va rugam sa dezactivati acest cache cu precautie.
contentTypesToEncode
O serie de tipuri de continut al caror corp de raspuns va fi transmis prin JSON.stringify (). Acest lucru se aplica numai atunci cand un corp personalizat nu este transmis. Implicit la:
reincercatiMetode
Cu ce metode ar trebui reincercata conexiunea in caz de inchidere a soclului.
Retineti ca setarea unei metode neidentificate poate duce la rezultate neasteptate asupra tintei.
In mod implicit: [‘GET’, ‘HEAD’, ‘OPTIONS’, ‘TRACE’]
reply.from (sursa, [opteaza])
Pluginul decoreaza instanta Raspuns cu o metoda from, care va raspunde la solicitarea originala din sursa dorita . Optiunile permit sa suprascrieti orice parte a cererii sau raspunsului trimisa sau primita catre / de la sursa.
Nota: Daca baza este specificata in optiunile pluginului, sursa de aici nu ar trebui sa suprascrie gazda / originea.
onResponse (cerere, raspuns, res)
Apelat atunci cand este primit un raspuns HTTP de la sursa. Comportamentul implicit este reply.send (res), care va fi dezactivat daca este specificata optiunea.
Cand raspundeti cu un corp de o lungime diferita, este necesar sa eliminati antetul lungimii continutului.
onError (raspuns, eroare)
Apelat atunci cand este primit un raspuns HTTP cu eroare de la sursa. Comportamentul implicit este reply.send (eroare), care va fi dezactivat daca este specificata optiunea. Trebuie sa raspunda la eroare.
rewriteHeaders (anteturi)
Apelat pentru a rescrie antetele raspunsului, inainte ca acestea sa fie copiate in raspunsul exterior. Trebuie sa returneze noul obiect antet.
rewriteRequestHeaders (originalReq, anteturi)
Apelat pentru a rescrie antetele cererii, inainte ca acestea sa fie trimise catre celalalt server. Trebuie sa returneze noul obiect antet.
getUpstream (originalReq, baza)
Apelat pentru a obtine destinatia din amonte, inainte ca cererea sa fie trimisa. Util cand doriti sa decideti ce server tinta sa apelati pe baza datelor solicitate. Util pentru lansarea treptata a noilor servicii. Trebuie sa returneze destinatia din amonte.
sir de interogare
Inlocuieste sirul de interogare original al cererii cu ceea ce este specificat. Aceasta va fi transmisa la querystring.stringify.
corp
Inlocuieste corpul de cerere original cu cel specificat. Daca nu este specificat contentType, continutul va fi transmis prin JSON.stringify (). Setand aceasta optiune pentru GET, solicitarile HEAD vor genera o eroare „Nu este permisa rescrierea corpului atunci cand faceti un {GET | HEAD}”.
reincercariCount
De cate ori va incerca sa aleaga o alta conexiune la inchiderea soclului (eroare ECONNRESET).
Util la mentinerea conexiunii deschise (KeepAlive).
Acest numar ar trebui sa fie o functie a numarului de conexiuni si a numarului de instante ale unei tinte.
In mod implicit: 0 (dezactivat)
tipul de continut
Inlocuiti antetul „Content-Type” al cererii redirectionate, daca deja suprascriem corpul.
Combinand cu fastify-formbody
formbody se asteapta ca corpul sa fie returnat ca un sir si nu ca un obiect. Utilizati optiunea contentTypesToEncode pentru a trece in [‘application / x-www-form-urlencoded’]
Expirari HTTP si HTTP2
Aceasta biblioteca are:
- timeout pentru http setat implicit. Valoarea implicita este de 10 secunde (10000).
- requestTimeout & sessionTimeout pentru http2 setat implicit.
- Valoarea implicita pentru requestTimeout este de 10 secunde (10000).
- Valoarea implicita pentru sessionTimeout este de 60 de secunde (60000).
Cand se intampla un timeout, 504 Gateway Timeout va fi returnat clientului.
A FACE
- sustine suprasolicitarea corpului cu un flux
- redirectionati ID-ul cererii catre celalalt partener ar putea necesita o refactorizare, deoarece trebuie sa facem req.id unic (a se vedea hyperid).
- Suport HTTP HTTP de origine
- repere
Licenta
MIT








