1.1.1 ===== - Forgot a file in the MANIFEST. 1.1 === - Added most of the CGI environment variables into the Env hash. - docroot now defaults to undef which turns off file serving. - Added support for CGI via CaptureSTDOUT() and ProcessSTDOUT(). - Fixed bugs with / on directories. - Added support for RegisterRegex. - Fixed bug with _date and missing Sep(tember) entry in the date. - Fixed bug with some error conditions. - Added support for OPTIONS. 1.0.2 ===== - If you register a callback /some/path/index.foo, AND you set the index list to include index.foo then /some/path/ will resolve to the callback. Thanks to John Jones for this request. 1.0.1 ===== - Fixed Response to normalize the output so that the tests can come out the same for each run. Basically, cookies were printing out in a different order then what was hard coded in the test. 1.0 === - Added PHP style session support. - Moved to more object oriented model: object for request, object for reply. - Added cookie support. 0.9.4 ===== - Fixed more of the required HTTP/1.1 headers. Thanks again to Jamie Lockier. 0.9.3 ===== - Fixed bug in Windows support and nonblocking. Turns out that ActivePerl doesn't like the Blocking=>0 call in IO::Socket::INET creation, and my call to ioctl was wrong. This should fix everyone who was having problems. 0.9.2 ===== - Fixed bug with interaction with Internet Explorer. I was parsing the headers incorrectly. 0.9.1 ===== - Fixed directory listing code when the file name contains :. This confused Mozilla (and likely other browsers) thinking that everything before the : was a protocol name (http:..). Now we append the path of the request on those files. 0.9 === - Added support for Digest Authentication. - Added more of the required HTTP/1.1 headers. Added support for HEAD, and TRACE. Thanks to Jamie Lockier for pointing out those deficiencies. - Added support for Basic Authentication. Thanks to Alan Barclay for this feature. - Added the ability to present other tokens on the Server: line using the AddServerTokens function. Thanks to Darren Chamberlain for this feature. 0.8.1 ===== - Big bug. If you write too fast then sometimes syswrite returns undef even though it was not *really* an error. Use select to wait on this. Hopefully this won't create more problems. 0.8 === - Fixed but in writing. If there was an error on write the server was sent spinning into an endless loop. - Fixed bug in win32 nonblocking. Thanks to Bytewolf and dliouville for finding this. 0.7 === - Fixed IO::Socket::SSL interface problem. Accessing multiple pages would result in SSL errors about not having a context. The lesson for the day is: Forking does weird things. In this case it *appears* that the SSL part of the socket was being closed when we sent the web page. Much reading shows us the SSL_no_shutdown option to close does not shutdown the SSL. This seems to fix the problem. - Reworked forking inner loop. There were some performance issues. 0.6.5 ===== - Removed a rogue debug statement. 0.6 === - Added code to detect a failed Start() and throw errors if Process() was called. - Fixed problem where a failed Start() would cause Stop() to crater since the socket and selects might be undefined. 0.5 === - Fixed bug with SSL support. I had hard coded paths and a bad check for the SSL options. 0.4 === - Allow for the reponse to be a FileHandle that _send will read and send in one go. This should make serving files faster (at least big files). - Fixed typo and mistake in logic with IO::Socket::SSL check. 0.3 === - Fixed logic to check for IO::Socket::SSL (didn't work very well with Perl2Exe). - Added tests for make test. 0.2 === - Fixed bug in read code where it would not finish reading a request. - If IO::Socket::SSL is installed, you can run a secure server. - Added a preforking server type "forking" (default is "single"). You can confiugre the number of child processes via the numproc config option. 0.1 === - Auto-find the mime.types in the module directories. - Port scanning for embeded on the fly servers. - Redirects directories without / to same dir with /: foo/bar -> foo/bar/ - Lists directories - Serves files - Allow for registering of functions to URLs so that it gets called when the URL is requested.