Is there a way to “influence” roUrlTransfer to issue HTTP PUTs instead of GET/POST? In order to communicate with RESTful Web services you need all the HTTP verbs, but there’s little else roUrlTransfer needs to do to handle them. One example usage: Apache and IIS allow via HTTP PUT to upload data without scripts on the other end.
Yes. roUrlTransfer has several POST methods:
PostFromString()
PostFromFile()
AsyncPostFromString()
AsyncPostFromFile()
–Kevin
“RokuKevin” wrote:
Yes. roUrlTransfer has several POST methods:
PostFromString()
PostFromFile()
AsyncPostFromString()
AsyncPostFromFile()–Kevin
I think you missed his point. He’s asking for an HTTP PUT command, as listed here http://en.wikipedia.org/wiki/Hypertext_ … st_methods
It makes sense to add DELETE at the same time as PUT, if it’s added. Many API’s that require PUT also require DELETE to be fully used.
“kbenson” wrote:
“RokuKevin” wrote:
Yes. roUrlTransfer has several POST methods:
PostFromString()
PostFromFile()
AsyncPostFromString()
AsyncPostFromFile()–Kevin
I think you missed his point. He’s asking for an HTTP PUT command, as listed here http://en.wikipedia.org/wiki/Hypertext_ … st_methods
It makes sense to add DELETE at the same time as PUT, if it’s added. Many API’s that require PUT also require DELETE to be fully used.+1
Thanks for the clarification. You are correct that there is not currently a way to do a PUT or DELETE.
–Kevin
“RokuKevin” wrote:
Thanks for the clarification. You are correct that there is not currently a way to do a PUT or DELETE.–Kevin
Hey Kevin,
Any plans to add these commands to the roUrlTransfer interface ? There are some APIs that uses that for important features.
After two years this should be split into its own thread.
It’s not ideal, but someone could write their own HTTP library with roStreamSocket. It wouldn’t be hard, per-se, just time consuming. Pick your favortite HTTP client library implemented in a pure scripting language, and port.
As I said, not ideal, but at least now possible.
Reinventing the wheel will be outright silly, provided that there is nothing special about PUT and DELETE - trivial methods need to be added by Roku for compliance to RESTful calls.
Feature Request Bug filed.
- Joel
Hi,
I am looking into integrating a new channel with a third party RESTful service that requires HTTP PUT requests for certain operations.
Do you have an update on this feature request, Joel?
Does anybody else know of a working solution or workaround for HTTP PUT, possibly using roStreamSocket as suggested by kbenson?
Thanks
–Henning
Looking into the status. It appears that our sister company BrightSign implemented it, not sure if we did on our end, the bug is still open.
- Joel
I also would really appreciate this to be implemented.
Hi Joel,
any update on this?
Thanks
–Henning
Do you have some examples of popular APIs where this would be of value? Hard to get something built if only a few obscure APIs require PUT and DELETE.
- Joel
“RokuJoel” wrote:
Do you have some examples of popular APIs where this would be of value? Hard to get something built if only a few obscure APIs require PUT and DELETE.
- Joel
How about the Google Data apis? Don’t get much bigger than that.
https://developers.google.com/gdata/articles/using_cURL
Plus, they are basic HTTP verbs, and you never know when the next up-and-coming api will require them.
good one, thanks.
- Joel
I second that request! There are a lot of REST services out there now (including a lot of developers that are probably creating their own now). I would be very nice to have built-in support for this!
Hi Joel,
there’s a ton of REST based APIs out there and I’m sure a lot them use PUT:
http://www.programmableweb.com/apis/dir … rt=mashups
IMHO supporting PUT (and possibly DELETE) would facilitate the development of channels beyond the traditional “media consumption” use cases.
–Henning
It turns out that the SetRequest method of roURLtransfer supports this:
http=createobject(“roURLTransfer”)
http.setRequest(“PUT”)
This is now published in the online SDK:
http://sdkdocs.roku.com/display/sdkdoc/ … eqasString
- Joel
