Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jeswin
Visitor

GetHeaders from roUrlTransfer

Hi,

I need to get the header values using roUrlTransfer, is it possible?

serverAPI = createObject("roUrlTransfer")
serverAPI.setUrl(api_url)
reqHeaders = serverAPI.GetToString()

the above code will return the result from the api i have called, but i want to get the header values of this response.
0 Kudos
6 REPLIES 6

Re: GetHeaders from roUrlTransfer

0 Kudos
jeswin
Visitor

Re: GetHeaders from roUrlTransfer

Yes i have already tried with the following code

serverAPI = createObject("roUrlTransfer")
serverAPI.setUrl(api_url)
xport=CreateObject("RoMessagePort")
    serverAPI.setport(xport)
    msg=wait(0,xport)
    if type(msg) = "roUrlEvent"
      hedtwo=msg.GetResponseHeaders()        
      print hedtwo
    end if


It waits not running after that, also if i giv timeout its running but not returning anything.
Any example
0 Kudos

Re: GetHeaders from roUrlTransfer

Your code is right.
You must catch the headers
0 Kudos
RokuMarkn
Visitor

Re: GetHeaders from roUrlTransfer

You need to call AsyncGetToString before doing the wait.

--Mark
0 Kudos
jeswin
Visitor

Re: GetHeaders from roUrlTransfer

Yes tried,
it returns true but still it waits after that for a long time and nothing runs after that 
0 Kudos
Sherry10
Newbie

Re: GetHeaders from roUrlTransfer

I know it is pretty late but leaving it here in case someone else comes along the same issue.

GetResponseHeaders() returns the headers if status code of response is between 200 and 300. Maybe that is why you did not see any response headers because your response code was out of these bounds. 

If that is the case, you may need to use GetResponseHeadersArray(), according to the docs it returns all headers regardless of the status code.

0 Kudos