2013-07-10 11 views
5

Vorrei poter aggiungere una logica al mio progetto trizio basato sull'intestazione della richiesta in entrata. È possibile accedere alle informazioni dell'intestazione e quindi eseguire la logica match() with()?Come si può accedere alle intestazioni di una richiesta in arrivo in tritio?

Il mio piano è di prendere un URL esistente (a cui si può accedere tramite una normale richiesta GET) e dargli una seconda modalità di funzionalità in modo che possa essere trasformata in un'API AJAX. Quando JavaScript fa la richiesta dell'API, potrei impostare un flag di intestazione personalizzato in modo che la piattaforma sappia interpretare la richiesta in modo diverso.

risposta

2

Dovresti poter accedere alle intestazioni nella richiesta HTTP in arrivo utilizzando la sintassi della variabile globale. Ad esempio, per accedere nome host del sito:

$host 
# => yourwebsite.com 

Credo che la maggior parte delle intestazioni standard sono accessibili come variabili globali in trizio. Tuttavia, non sono sicuro che le intestazioni all siano accessibili come vars globali.

All'interno della cartella del progetto, sul computer di sviluppo, dovrebbe esserci una cartella tmp che contiene i pacchetti di richiesta/risposta HTTP. A ciascun gruppo deve essere indicata l'ora e la data e l'ora della richiesta. Penso che se si sbirciare all'interno di una di queste cartelle, si dovrebbe vedere un gruppo di file:

  • incoming_request
  • incoming_response
  • outgoing_request
  • outgoing_response

E forse un quinto file. Non riesco a ricordare se questo è ancora il caso nella versione attuale della piattaforma, ma c'è la possibilità di trovare un quinto file contenente le variabili globali che il server Tritium crea per archiviare i valori dell'intestazione della richiesta HTTP. Quindi puoi dare un'occhiata a quel file (se esiste) e scoprire quale nome di variabile le intestazioni HTTP stanno usando.

Spero che questo aiuti!

+0

Credo ci siano due, initial-env.json e final-env.json.Puoi trovare tutte le variabili globali impostate per te all'inizio dell'esecuzione del trizio in initial-env.json, incluse le intestazioni delle richieste. – noj

1

Sono in ritardo con questo, ma ho pensato di dare una mano a chiunque altro abbia bisogno di aiuto su questo.

è necessario creare due file nella directory di script, uno chiamato

request_main.ts

e

response_main.ts

È quindi possibile utilizzare le cose come la funzione parse_headers , che scorre le intestazioni di richiesta/risposta, a seconda del file in cui inserisci il codice.

parse_headers() { # iterate over all the incoming/outgoing headers 
    log(name())  # log the name of the current cookie in the iteration 
    log(value())  # log the value of the current cookie in the iteration 
} 

parse_headers(/Set-Cookie/) { # iterate over the Set-Cookie headers only. 
    log(this()) 
} 

Questo registrerà tutti i nomi di intestazione, di apportare modifiche, è possibile utilizzare le funzioni "setter", che potete leggere qui:

http://developer.moovweb.com/docs/local/configuration/headers

Buona fortuna.

Problemi correlati