It is big problem to export saved request to a file within an chrome application. HTML5 (either javascript) don't have any API to save any data in file (outside applications sandbox).
Normally with application backed it would generate this file on server side and pass it to browser as a file.
In Chrome environment it is not possible. There is no backed and can't force browser to generate file.
Anyway, lately I've started writing application backend on Google App Engine. It will have ability to save form data and restore it on demand. It also will have ability to share this data.
It will be available in future release.
Thursday, 19 January 2012
Saturday, 14 January 2012
New permissions - re-enable your application
As you may noticed lately an application has been disabled by Chrome browser. I'ts because I've changed permissions for application. I've added "history" permission to application to make typing URL easier.
Prior current version you had to type all URL manually. Now using history API application can recognize URL you want to type and suggest it (if you had visited this URL earlier).
I hope you appreciate new change.
As always you can check source code to make sure you history is not misused:
revision change: http://code.google.com/p/chrome-rest-client/source/detail?r=109
history usage: http://code.google.com/p/chrome-rest-client/source/browse/trunk/RestClientApp/src/com/restclient/client/storage/UrlsSuggestOracle.java
API access:
Prior current version you had to type all URL manually. Now using history API application can recognize URL you want to type and suggest it (if you had visited this URL earlier).
I hope you appreciate new change.
As always you can check source code to make sure you history is not misused:
revision change: http://code.google.com/p/chrome-rest-client/source/detail?r=109
history usage: http://code.google.com/p/chrome-rest-client/source/browse/trunk/RestClientApp/src/com/restclient/client/storage/UrlsSuggestOracle.java
API access:
- http://code.google.com/p/chrome-rest-client/source/browse/trunk/RestClientApp/src/com/restclient/client/chrome/History.java
- http://code.google.com/p/chrome-rest-client/source/browse/trunk/RestClientApp/src/com/restclient/client/chrome/HistoryItem.java
- http://code.google.com/p/chrome-rest-client/source/browse/trunk/RestClientApp/src/com/restclient/client/chrome/HistorySearchCallback.java
Tuesday, 22 November 2011
Cookies capture - experimental feature. Give feedback!
Lately, I worked about cookie capture during request. It is not so simple as You can imagine.
Application use XMLHttpRequest class in javascript to handle requests. According to w3c spec it can't read some headers. One of it is "Set-Cookie" witch is responsible to set cookie on client. That's why I do not show cookies bar as an response to HTTP request.
Fortunately it is still chrome application and applications/extensions can read cookies. But, I can't read cookies from particular server response. I can handle all cookies change in all tabs, in all windows. It's kinda tricky because you don't know witch request actually creates the cookie.
So. When You start request application record all cookies that has been changed during this request. When response is loaded application stops recording cookies change and display results (if any recorded).
But I noticed that not always cookies are recorded during request. Sometimes they are set just after response is loaded and application already retrieved cookies list. This cookies will not be displayed. So when application creating response view it call delayed function (about 200ms) to get cookies after some time (when browser probably set does cookies).
I hope this will be good enough to make application more helpful.
If You have suggestions or have issue with cookies give feedback (google code issue tracker or in comments :)
Oh. Cookies capture in application is experimental feature and is disabled by default. To enable it go to "options" and check checkbox under "cookie capture".
Application use XMLHttpRequest class in javascript to handle requests. According to w3c spec it can't read some headers. One of it is "Set-Cookie" witch is responsible to set cookie on client. That's why I do not show cookies bar as an response to HTTP request.
Fortunately it is still chrome application and applications/extensions can read cookies. But, I can't read cookies from particular server response. I can handle all cookies change in all tabs, in all windows. It's kinda tricky because you don't know witch request actually creates the cookie.
So. When You start request application record all cookies that has been changed during this request. When response is loaded application stops recording cookies change and display results (if any recorded).
But I noticed that not always cookies are recorded during request. Sometimes they are set just after response is loaded and application already retrieved cookies list. This cookies will not be displayed. So when application creating response view it call delayed function (about 200ms) to get cookies after some time (when browser probably set does cookies).
I hope this will be good enough to make application more helpful.
If You have suggestions or have issue with cookies give feedback (google code issue tracker or in comments :)
Oh. Cookies capture in application is experimental feature and is disabled by default. To enable it go to "options" and check checkbox under "cookie capture".
Friday, 14 October 2011
Application has back to Web Store
Google Chrome Web Store abuse team checked my application and they determined that Chrome Rest Client has passed the security compliance investigation.
The application is available at Chrome Webstore again.
Tuesday, 11 October 2011
The application has been removed from chrome Web Store
Lately I've received an email from chromewebstore reviews team.
They inform me that my application has been removed from webstrore and gives me some links to read about store polices.
I'm surprised because source code is available for everyone and there is no room for abuse :)
Unfortunately nobody know how long "abuse team" will be investigating application.
Below is email I've received from Google.
They inform me that my application has been removed from webstrore and gives me some links to read about store polices.
I'm surprised because source code is available for everyone and there is no room for abuse :)
Unfortunately nobody know how long "abuse team" will be investigating application.
Below is email I've received from Google.
Your Google Chrome item, "[Advanced REST client Application]," has beenremoved for suspicious activity and is currently being investigated forcompliance by the Chrome Web Store abuse team.I've read Chrome Web Store polices (included in email) and I believe that I did not violate any rules so I believe they restore my application soon.
In the meantime, if you'd like to make changes to this item so that itcomplies with our policies, please go to your developer dashboard torepublish a new version. Then respond back to this email with adescription of the specific changes you made.
*Please keep in mind that your republished item will not be immediatelypublished live in the store. The republished item will undergo a strictcompliance review, and as such there is no guaranteed timeframe on whenyour item will be republished if it passes compliance.
*IMPORTANT - PLEASE READ:Repeated or egregious violations in the store may result in your developeraccount being banned from the store. This may also result in thesuspension of related Google services associated with your Google account.
If you have additional questions regarding this policy violation, pleasereply to this email. Note that you may not receive an immediate response.
Thanks for your cooperation
Thursday, 25 August 2011
About: security
Lately someone ask me why application need to have "Your data on all websites" permission.
According to Chrome Extensions developer guide apps and extensions work like websites - any dynamic content is executing as javascript. Browsers security model does not allow making HTTP request to other domain. If any app/extension need to send on receive data from other domain it need to include requested address in apps/extension manifest. Now, Advanced Rest Client Application need to send requests to any address. It is possible only if app/extension have permission like: http://*/* and https://*/* which means allow access to any internet address starting with http(s).
Extensions with internet address permission can actually read Your data on this websites (have access to cookies and session for this addresses). That's the reason why You have notify about accessing Your data on all website.
Fortunately you can read source code of whole application at http://code.google.com/p/chrome-rest-client/source/browse/ and see that this application do not interfere with any Your data on any website. There is no other way to make it work and do not give this permission (and not to use external server). On the part of application You do not need to worry about Your privacy. As long the source code is public You always can check what this application actually can do.
According to Chrome Extensions developer guide apps and extensions work like websites - any dynamic content is executing as javascript. Browsers security model does not allow making HTTP request to other domain. If any app/extension need to send on receive data from other domain it need to include requested address in apps/extension manifest. Now, Advanced Rest Client Application need to send requests to any address. It is possible only if app/extension have permission like: http://*/* and https://*/* which means allow access to any internet address starting with http(s).
Extensions with internet address permission can actually read Your data on this websites (have access to cookies and session for this addresses). That's the reason why You have notify about accessing Your data on all website.
Fortunately you can read source code of whole application at http://code.google.com/p/chrome-rest-client/source/browse/ and see that this application do not interfere with any Your data on any website. There is no other way to make it work and do not give this permission (and not to use external server). On the part of application You do not need to worry about Your privacy. As long the source code is public You always can check what this application actually can do.
Wednesday, 3 August 2011
Bug fixes, new release...
I've release new version (2.0.5) with some fixes:
- appended "=" on request body will not appear anymore,
- URL encoding will only affect when filling form body
- new encoding value now save in local storage instead session storage
- when first run, an error about not existing table in DB will not throw
- UI dialogs now support keyboard events (on ESC and ENTER key)
Known issues:
- if there is no saved requests when save one it will not appear in "Saved requests" tab until page reload
If You have problems with app, please go to http://code.google.com/p/chrome-rest-client/issues/list and create an issue.
- appended "=" on request body will not appear anymore,
- URL encoding will only affect when filling form body
- new encoding value now save in local storage instead session storage
- when first run, an error about not existing table in DB will not throw
- UI dialogs now support keyboard events (on ESC and ENTER key)
Known issues:
- if there is no saved requests when save one it will not appear in "Saved requests" tab until page reload
If You have problems with app, please go to http://code.google.com/p/chrome-rest-client/issues/list and create an issue.
Subscribe to:
Posts (Atom)