HTTP: Difference between revisions
Undo revision 315462 by WdeCvfYlmB (talk)
Thundergnat (talk | contribs) (Undo revision 315463 by WdeCvfYlmB (talk)) |
Thundergnat (talk | contribs) (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
me.
me.
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.
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()
|