Forum Discussion

hogie76's avatar
hogie76
Visitor
9 years ago

Headers are stripped on play request

Hello,

I am currently running into an issue where my headers are being stripped when requesting playback of the video node.  The server requires these headers to be able to playback the content. 



device=CreateObject("roDeviceInfo")
hvideo = CreateObject("roHttpAgent")
hvideoheaders = {
"Device": device.GetDeviceUniqueId(),
"DeviceProf": device.GetModelDisplayName()+"("+device.GetModel()+";"+device.GetVersion()+";Roku;roku)",
"Version": "C4.9.9_S0",
"x-roku-reserved-dev-id": "",
}
hvideo.SetHeaders(hvideoheaders)

'set videoContent Parameters

videoContent = createObject("RoSGNode", "ContentNode")
videoContent.url = streamUrl
videoContent.Title = m.top.item.Title
videoContent.StreamFormat = "hls"
videoContent.SubtitleConfig = subtitle_config
videoContent.HttpSendClientCertificates = true


'Set Video
m.video = m.top.findNode("musicvideos")
m.video.SetConnectionTimeout(30)
'm.video.notificationInterval = 30
m.video.observeField("state", "stateChanged")
m.video.observeField("streamInfo", "streamInfoChanged")
m.video.observeField("streamingSegment", "streamingSegmentChanged") 
m.video.content = videoContent
m.video.setHttpAgent(hvideo)
m.video.control = "play"




The only header that comes across is x-roku-reserved-dev-id when using a differnt HTTP Agent. 

If i use the video nodes content metadata for the headers, all the headers are present EXCEPT x-roku-reserved-dev-id which fails the webserver access rules. This is how I have tried to set these:


headers = []
headers.push("x-roku-reserved-dev-id:")
headers.push("Device:" + device.GetDeviceUniqueId())
headers.push("DeviceProf:" + device.GetModelDisplayName()+"("+device.GetModel()+";"+device.GetVersion()+";Roku;roku)")
headers.push("Version:C4.9.9_S0")

videoContent.HttpHeaders = headers



I have tried setting just the content nodes without the x-roku-reserved-dev-id and the HTTPAgent with the x-roku-reserved-dev-id however it is the same result... 

Any thoughts? 
    • xwilly's avatar
      xwilly
      Reel Rookie

      Hi, I am using the VideoListExample file and I need to add a Http Header when I call the URLs of the streams stored in the XML.

      The Http Header is the user agent and will be the same for each stream.

      Can someone help me with the right piece of code to add?

      Thanks