Voglio esaminare l'URL completo che la gemma HTTParty ha creato dai miei parametri, prima o dopo la sua presentazione, non ha importanza.Come si controlla l'URL completo generato da HTTParty?
Sarei anche felice di prenderlo dall'oggetto risposta, ma non riesco a vedere un modo per farlo.
(un po 'di background)
Sto costruendo un wrapper per un'API utilizzando la gemma HTTParty. Funziona in generale, ma a volte ricevo una risposta inaspettata dal sito remoto e voglio approfondire il motivo: è qualcosa che ho inviato in modo errato? E allora? Ho in qualche modo deformato la richiesta? Guardare l'URL grezzo sarebbe utile per la risoluzione dei problemi, ma non riesco a vedere come.
Ad esempio:
HTTParty.get('http://example.com/resource', query: { foo: 'bar' })
genera Presumibilmente:
http://example.com/resource?foo=bar
Ma come posso controllare questo?
In un caso ho fatto questo:
HTTParty.get('http://example.com/resource', query: { id_numbers: [1, 2, 3] }
Ma non ha funzionato. Attraverso la sperimentazione sono stato in grado di produrre questo che ha funzionato:
HTTParty.get('http://example.com/resource', query: { id_numbers: [1, 2, 3].join(',') }
Così chiaramente di HTTParty approccio predefinita a formare la stringa di query non allinearsi con formato preferito le API progettisti. Va bene, ma è stato difficile trovare esattamente ciò che era necessario.
Sì, questo viene effettivamente copiato da una sottoclasse, quindi "base_uri' è impostato. Lo correggerò. Grazie! – Leo
Ah, ho capito! Ho provato 'res.last_uri' ma ho ricevuto un errore. Ora capisco che includere '.response' arriva all'oggetto giusto. – Leo
Funziona ma non mostra i parametri passati all'URL. – djangofan