ARC new version release (5 and 6)

With version 5 and 6 of the app there’s a lot of new features.

First at all the app is now so called Chrome App. Previously it was “legacy app”. The change was described in my blog post.

Transport is now based on sockets (chrome.socket API) instead of XHR object. This means that the app is no longer limited to the XHR’s spec. All headers can be set to the request and read from the response. Now you can set headers like “User-Agent”, “Content-Length”, “Cookie”, “Referer” etc. It was impossible in previous version. The app is using socket-fetch library created for the ARC project.

The app uses new API to identify the user to integrate with Google Drive. The chrome.identity API provide access token that is used to access files created by the app on Google Drive and to save files there. More information about Drive integration in Data sharing options blog post.

The Content-Type drop-down back to the app. After many complains it is now in the main UI. It is directly connected with the Content-Type header that you enter in the headers editor. Changing one of them will change another so the change itself will be more natural and will not confuse the users anymore.

Headers editor have new tab “predefined sets”. Because the app is now working directly on socket it will not pass chrome’s default headers like “User-Agent” or “Accept-*” headers. In many cases you don’t need to use them. But sometimes you will need them to made a proper request. For users convenience there is a predefined set of headers that they can add to the headers list.
Note that it will append headers to the list not checking if corresponding header is already there. You need to remove dubbed headers manually.

Sending files will use FormData object. It means that the “multipart/form-data” content type header will be set with the request. It will change in the future when new FormData object (that will allow data manipulation in already created object) will be available in Chrome.
The boundary signature will be added automatically.

History and saved requests are now the same objects but with different flags. Also there is a third type “drive” which is saved request locally but originated from Google Drive file.
The request object now remembers whole history of the requests you made to this particular endpoint so a histogram can be build on top of it. It’s not yet available in the UI but future releases will make use of it.

Import and export options are now promoted to main menu. Depending on the view you can export whole requests and projects data or only selected requests. Exported file may be bigger than the one exported so far since the request will contain whole request/response history for each project.
Also, there’s a lack of server import and export. Because of low usage (below 0.007%) it was temporarily removed from the app. It will be redesigned and future releases will introduce new server sharing options.

The release is now rolling out. It will update itself in a few days.