diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index dca2ab3..0000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "type": "brightscript",
- "request": "launch",
- "name": "BrightScript Debug: Launch",
- "stopOnEntry": false,
- "host": "${promptForHost}",
- "password": "mega",
- "rootDir": "${workspaceFolder}",
- "enableDebuggerAutoRecovery": false,
- "stopDebuggerOnAppExit": false
- }
- ]
-}
\ No newline at end of file
diff --git a/components/rowListContent.brs b/components/rowListContent.brs
index a37fbf2..978cc54 100644
--- a/components/rowListContent.brs
+++ b/components/rowListContent.brs
@@ -1,11 +1,15 @@
sub init()
- m.global.http.request = { payload: {
+ m.http = createObject("roSGNode", "httpTask")
+ m.http.control = "RUN"
+ m.http.request = { payload: {
userId: 1,
title: "WOW, IT WORKED ^_^",
- }, url: "https://jsonplaceholder.typicode.com/albums", requestType: "GET"}
- m.global.http.observeFieldScoped("response", "useResponse")
+ }, url: "https://www.youtube.com/watch?v=1FL22N1EXDo", requestType: "GET" }
+ m.http.observeFieldScoped("response", "useResponse")
end sub
sub useResponse()
- ?m.global.http.response
+ initialPlayerResponseRegEx = createObject("roRegex", "ytInitialPlayerResponse\s*=\s*({.+?})\s*;", "m")
+ matches = initialPlayerResponseRegEx.match(m.http.response.body)
+ ?ParseJson(matches[1]).streamingData.adaptiveFormats[0].url
end sub
diff --git a/components/rowListScene.brs b/components/rowListScene.brs
index 22d7821..fd43c17 100644
--- a/components/rowListScene.brs
+++ b/components/rowListScene.brs
@@ -1,8 +1,5 @@
sub init()
- m.global.addField("http", "node", FALSE)
m.global.addField("ratio", "float", FALSE)
- m.global.http = createObject("roSGNode", "httpTask")
- m.global.http.control = "RUN"
m.global.ratio = 1
m.rowList = m.top.findNode("mainRowList")
m.rowList.content = createObject("roSGNode", "RowListContent")
diff --git a/components/tasks/httpTask.brs b/components/tasks/httpTask.brs
index aee48f2..508f50f 100644
--- a/components/tasks/httpTask.brs
+++ b/components/tasks/httpTask.brs
@@ -14,15 +14,15 @@ function handleCalls() as Object
response = fire(msg.getData())
end if
else if msgType = "roUrlEvent"
- if msg.getInt() = 1
- if msg.getResponseCode() > 0
- response = handleResponse(msg.getString(),msg,true)
- else
- response = handleResponse(msg.getFailureReason(),msg,false)
- end if
+ if msg.getInt() = 1
+ if msg.getResponseCode() > 0
+ response = handleResponse(msg.getString(), msg, true)
+ else
+ response = handleResponse(msg.getFailureReason(), msg, false)
end if
- m.top.response = response
- return response
+ end if
+ m.top.response = response
+ return response
end if
end while
end function
@@ -31,7 +31,7 @@ function fire(request as Object) as Object
httpRequest = initiateHttpClient(request.url)
requestId = httpRequest.getIdentity().ToStr()
m.urlRequest[requestId] = {
- request:httpRequest
+ request: httpRequest
}
if checkRequestType(request.requestType)
httpRequest.AsyncPostFromString(formatJson(request.payload))
@@ -42,15 +42,15 @@ end function
function handleResponse(responseString as String, message as Object, isOk as Boolean) as Object
if isOk
- body = parseJson(responseString)
+ body = responseString
else
body = "An Error has Occurred!!"
end if
- requestId = message.GetSourceIdentity().ToStr()
- m.urlRequest[requestId] = invalid
+ requestId = message.GetSourceIdentity().ToStr()
+ m.urlRequest[requestId] = invalid
return {
requestId: requestId
- body:body
+ body: body
}
end function
@@ -60,9 +60,7 @@ function initiateHttpClient(url as String) as Object
httpRequest.InitClientCertificates()
httpRequest.SetPort(m.port)
httpRequest.SetUrl(url)
- httpRequest.RetainBodyOnError(true)
- httpRequest.addHeader("Content-Type", "application/json")
- httpRequest.addHeader("Accept", "application/json")
+ httpRequest.RetainBodyOnError(false)
return httpRequest
end function
diff --git a/components/tasks/httpTask.xml b/components/tasks/httpTask.xml
index d3c075c..c6f5eb5 100644
--- a/components/tasks/httpTask.xml
+++ b/components/tasks/httpTask.xml
@@ -5,4 +5,5 @@
+
\ No newline at end of file