2009-12-10 20 views
5

Qualcuno sa di un plug-in/gem che registrerà eventuali richieste HTTP che l'app di rails potrebbe eseguire quando risponde a una richiesta? Ad esempio, se stai utilizzando HTTParty per colpire un'API, come puoi vedere quali richieste in uscita provengono dall'app di rails?HTTP Registrazione nei binari?

risposta

5

È necessario comunicare al client HTTP in uscita di utilizzare un proxy.

Per HTTParty è abbastanza semplice (dal docs),

class Twitter 
    include HTTParty 
    http_proxy 'http://myProxy', 1080 

Se siete alla ricerca di un proxy per impostare, personalmente mi piace Paros proxy (Java piattaforma in modo trasversale e fa SSL).

1

Se stai facendo lo sviluppo sul tuo computer, Charles Proxy è una buona opzione.

Nella produzione, probabilmente starai meglio creando i tuoi messaggi logger.debug().

+1

Sto usando Carlo e non sembra per registrare una delle chiamate a esterni apis che utilizza HTTParty – bwizzy

1

L'unico modo ho ottenuto questo al lavoro è stato quello di indicare solo l'IP come primo parametro alla chiamata http_proxy:

http_proxy '10.2.2.1', 8888 

L'esempio di cui sopra, con il prefisso http: //, non ha funzionato, ho ottenuto un SocketError: getaddrinfo: nodename nor servname provided

5

Prova anche http_logger gemma:

require 'http_logger' 

Net::HTTP.logger = Logger.new(...) # defaults to Rails.logger if Rails is defined 
Net::HTTP.colorize = true # Default: true 

Ciò registrerà tutte le richieste che attraversa libreria Net :: HTTP.

https://github.com/railsware/http_logger

1

Prova il mio httplog gemma, è possibile personalizzare a registrare le richieste, le risposte, intestazioni ecc