In 2021r1.1 / Ubuntu 20.04
I have the following code in HandleURL
in a web app (WebApp1) set to port 10000
:
Response.Write "Hello world"
return true
It returns “Hello world” in my web browser as expected.
In another web app on port 8080 (WebApp2) I have subclassed a URLConnection and called it “URLConnect”. (A great imagination I have). The subclass has the following method:
Sub test()
super.Send("GET","http://127.0.0.1:10000/",60)
End Sub
The subclsss is instantiated in the web apps HandleURL like so:
Function HandleURL(Request As WebRequest, Response As WebResponse) As Boolean
dim URLConnect1 as new UrlConnect
URLConnect1.test
Response.Write "Done "
return true
End Function
The subclass’s ContentReceived
event handler contains the following line:
Print content
So when run form the debugger WebApp2 returns “Done” to the browser as expected.
NOW HERE’S THE KICKER: I get a nil object exception on Response.Write "Hello world"
in WebApp1 even though it’s supposed to be over the wire, so no content bis printed in WebApp2.
But wait, there’s more: If I put a break point at print content
in WebApp2’s Content Received
event handler, WebApp2 breaks not there but on its Response.Write "Done "
in HandleURL
with a NilObjectException
.
If I get rid of the super.
prefix from the send
command, WebApp2 breaks on its Response.Write "Done "
in HandleURL
with a NillObjectException
.
Have I done something wrong? The breaking effect of WebApp2 on WebApp1 doesn’t seem explainable by my stupidity alone…