Update of HTTPServ
Thomas Milius (7848) 116 posts |
I have just released a new version of my HTTPServ HTTP server. You can download the new version from my homepage http://thomas-milius-stade.dnshome.de/indexE.htm Section Computer activities or directly http://thomas-milius-stade.dnshome.de/Download/Freeware/httpsv.zip and also from !Store under HTTPServ (which includes !SSI). Note that due a clean up regarding the version number !Store may not indicate a new version. What changed?
What is new?
Declaration and handling of arbitrary HTTP methods sounds a bit abstract, also passing on. HTTP usually makes only usage of GET and POST method. HTTPServ implements their handling internal. There are a lot of of methods like e.g. PUT and DELETE which are usually not supported by browsers but e.g. AcornHTTP module is supporting PUT and DELETE. You can now define arbitrary methods for HTTPServ however you have to implement them by your own programs. Until now HTTPServ handled URL references either as a fixed file or as a CGI script. Now you can call your own programs for certain path ranges independently whether the referred files are really existing or not. So you are able to create valid responses on demand for files which are not really existing e.g. from a database or something like this. Difference between calling a program implementing a method and a pass on is the following. Usually HTTPServ gets a HTTP request and evaluates header and data if there is one. Then HTTPServ calls a program with this information. The program calculates the answer and writes it into a temporary file. Then it tells HTTPServ that the result has been provided and stops. HTTPServ afterwards will send the content of the temporary file to the requester handling HTTP header etc.. This concept only allows creation of whole files which means that the requester has to wait until all is finished on side of HTTPServ. In case of passing on a request to a program HTTPServ evaluates the request as usal but with calling the desired program to handle the method it also passes the whole control over the HTTP stream towards the program. Which is then responsible to handle the response. A simple BBC BASIC example program is provided which takes an MJPEG video file (generated by DeskWatcher and MakeMJPEG) and passes header and frame by frame of the file to the client. (Unfortunately it still pops up an empty TaskWindow for each stream request. I shall have to improve this later.) |
Raik (463) 2061 posts |
I’ve inserted my security camera’s URL accordingly and run HTTPServ on my Titanium. If I “surf” to the Titanium with WIN, Linux or RISC OS (Iris), I can see the stream in the browser window. Nice work. |