HTTP: Difference between revisions

Undo revision 315462 by WdeCvfYlmB (talk)
(Undo revision 315463 by WdeCvfYlmB (talk))
(Undo revision 315462 by WdeCvfYlmB (talk))
Line 1,193:
=={{header|Lingo}}==
HTTP requests based on Director's native HTTP facilities - i.e. without using a 3rd party plugin ("Xtra") - are asynchronous. A simple implementation of a HTTP GET request might look like this:
 
Parent script "SimpleHttpGet":
<lang lingo>property _netID
property _cbHandler
property _cbTarget
 
----------------------------------------
-- Simple HTTP GET request
Line 1,204 ⟶ 1,206:
----------------------------------------
on new (me, url, cbHandler, cbTarget)
if voidP(cbTarget) then cbTarget = _movie
cbTarget = _movie
me._netID = getNetText(url)
me._cbHandler_netID = cbHandlergetNetText(url)
me._cbTarget_cbHandler = cbTargetcbHandler
me._cbTarget = cbTarget
_movie.actorList.add(me)
return me
end
 
----------------------------------------
-- @callback
----------------------------------------
on stepFrame (me)
if netDone(me._netID) then
res = netTextResult(me._netID)
err = netError(me._netID)
_movie.actorList.deleteOne(me)
call(me._cbHandler, me._cbTarget, res, err)
end if
end</lang>
 
In some movie script:
<lang lingo>----------------------------------------
Line 1,227 ⟶ 1,232:
----------------------------------------
on getAdobeHomePage ()
script("SimpleHttpGet").new("http://www.w3adobe.orgcom/Home.html", #printResult)
end
 
----------------------------------------
-- @callback
----------------------------------------
on printResult (res, err)
if err="OK" then
put res
else
put "Network Error:" && err
end if
end</lang>
 
Executed in the "Message Window" (=Director's interactive Lingo console):
<lang lingo>getAdobeHomePage()
10,333

edits