Search code examples
rubyhttpdebuggingrest-client

How to debug/display request sent using RestClient


I am trying to use RestClient to access a webservice using post method. I am sending the authorization token as specified but I am still getting a 403 status error which means I am forbidden to use that api. Is there any way that I can see the request being sent with http post so that I can verify the headers? I am not able to find any example or any documentation which mentions as to how to do that?

My code is similar to this :

token = get_token

response = RestClient.post "https://api-dev.xxx.com/software/services/search/ABC",
  :authorization => "Bearer #{token}"

Solution

  • You could try enabling RestClient's logging and see whether this provides any useful output:

    RESTCLIENT_LOG=stdout path/to/my/program
    

    or if you are using Rails

    RESTCLIENT_LOG=stdout bundle exec passenger
    

    replacing passenger with your choice of server. This will redirect all logging to standard output (your console).

    Personally I prefer using more verbose tools when I need to inspect or troubleshoot HTTP requests.

    You could try curl or wget if you prefer command-line, or one of the many browser extensions which let you perform requests easily, inspect output, save for future use, set up different environments etc. Both Postman and Advanced REST Client are good choices.