URLGet = {} function URLGet:get(url,cb,canlog) self.url = url self.callback = cb self.responsetext = '' self.rcvdheaders = '' if canlog == nil then canlog = true end if scop.url.crack(tab.url).host == scop.url.crack(url).host then -- same domain self:get_viabrowser(canlog) else self:get_direct() end end function URLGet:get_direct() local http = Syhunt:NewHTTPRequest() http:open('GET',self.url) self.responsetext = http.text self.rcvdheaders = http:getheader() http:release() self:callback(self) end function URLGet:get_viabrowser(canlog) local req = {} req.url = self.url req.method = 'GET' req.details = 'Browser Request (URL Get Extension)' req.filter = [[ Sandcat.WriteValue("urlget.response",http.responseText); Sandcat.WriteValue("urlget.rcvdhead",http.getAllResponseHeaders()); ]] if canlog == false then req.filter = req.filter..'canlog = false;' end req.callback = 'URLGet:browserrequestdone()' tab:sendxhr(req) end function URLGet:browserrequestdone() self.responsetext = browser.jsvalues["urlget.response"] self.rcvdheaders = browser.jsvalues["urlget.rcvdhead"] if self.responsetext == '' then self:get_direct(self.url) else self:callback(self) end end