Friday, 21 September 2012

It's almost here! New version of Advanced Rest Client

Hi all!

I'd like to inform you that new version of the application is almost ready :)
It took over 3 months but the application was written from scratch. Now it can do a lot more than current version. Thanks for all who submit an issue on http://code.google.com/p/chrome-rest-client/issues/list and helps me improve application.

Note:
There is a number of new permissions required by the application. See bottom of this post for more info.

Let's start from UI.

New version UI

UI now have more modern look. It is not very different from current version, but devil is in the details. Have you noticed that there is new option in menu?

Projects is a new feature. It helps you organize saved requests and you can easily switch between requests sharing it's parameters. More about projects you can find in my previous post.
Project view
OK, let's make a HTTP request:


Still it is not very different form previous version. But as you can see I've added new section to response view. Now Request Headers are also available in application view. And there is more.
Since now you can overwrite browsers headers that are not available for regular XmlHttpRequest! This mean that you can set User-Agent, Accept and many more headers. It becomes possible since new declarativeWebRequest API in Chrome. And here is the bad news. For today it is only available for Chrome Dev Channel (version 23). It will take about 3 months before it becomes available in stable version. Since then I'll send an update to Web Store but it will be available for version 23+.

Let's go on. Lately someone suggest that application should show redirect chain (issiue 67). Well, here it is:

It will show complete request flow. For each redirect it collects information about received headers, status and information is this redirection comes from cache (f.e. HTTP 301) or not.


I've made some improvements to request form panel. You can "open" url input field and create URL using form:
When you need to encode query parameters just pres "enc" button for this parameter. If you need to encode parameter but replace + with %20 just hold CTRL key.


There are changes in settings section as well. First at all "cookies capture" is no more experimental. Well, it is not working very well right now. Results may vary and you can't rely on it. But since application can show all response headers (even those invisible to the XmlHttpRequest object) you can see cookie data in response panel.
There is no JSON headers settings. This is fixed now and list contain all popular json headers definitions.

Important change for the application is import/export options. Since now export to application server is deprecated and this option will be removed December 1st, 2012.
There are better options for import export. First is export to file. Application will generate json file with projects and requests definitions. You can easily change it's content and send file to collaborators. Thanks to this change you don't need to be worry about data sent to application server.

Next step it to implement Google Drive API to save file directly on your drive. Then the application becomes one of the Google Drive applications.

There is a number of new permissions required by application.

  • webRequest 
    • This is required to observe and analyze traffic - to know when redirect occur and to catch request and response headers 
  • declarativeWebRequest 
    • This is required to modify request headers by XmlHttpRequest (to remove or add headers)
  • background 
  • storage 
    • Chrome provides API for sync data. Application will synchronize some settings like debug and history options.
  • history (not changed) is required by URL widget to provide fill support. While typing an URL it search application's and browser's history. When it find matches it will return it in suggestions list. Browser's history is not stored in application
  • <all_urls> (not changed) is required by application to make any request outside application sandbox. 
  • cookies permission has been removed

I hope you like changes and you will like new version of the application. Update will become available in next few weeks. Since then you still can report an issue if you found some :)

Cheers!

8 comments:

  1. Looking forward for the new features, your app is already the best one to test REST API on Chrome.

    ReplyDelete
  2. Thanks.
    I hope you are using chrome dev channel or you will not get update :( API used in new version in only available in dev channel.

    ReplyDelete
  3. Dude. THANK YOU. OMG. THANK YOU.


    omgz I cant wait.

    ReplyDelete
  4. Sounds like the days of `nc -vC my.dev.server http` are finally coming to an end...
    Thanks a lot for your work!

    ReplyDelete
  5. Thank you very much for your extension. Looking forward for the new version. :)

    ReplyDelete
  6. very nice improvement. well done, bro.

    ReplyDelete
  7. love the app. Unless I'm being daft though, when I save a query there's no way to force it to save the headers with it. This would be VERY nice to have the ability to do not least because I find myself constantly putting the "Content-type: application/json" into every request I have.

    ReplyDelete
  8. Ken,
    It just because it is defined in application one of a default headers. It's not disappearing but it set proper value in "encoding" dropdown list (below payload input).

    ReplyDelete