PackageDescription: Hyper(Bundle)


Hyper

Last published: October 21, 2010 by 'bbadger'


Hyper is an HTTP library that can be used to implement an agent or (more commonly) a server. For the complete story on HTTP see RFC 2616 (http://www.ietf.org/rfc/rfc2616.txt). Hyper aspires to implement everything in the RFC, but that's a long way off. For now Hyper meets most needs in an easy to use way.

To start a Hyper sever instance, evaluate the following:

HTTPServer new
hostName: 'localhost';
portNumber: 8080;
multiThreading: false;
responseBlock: [:anHttpRequest |
1 halt: 'Create a response here, e.g. ...'.
HTTPResponse notFound];
start

All you need to do is add headers and content to the HTTP response :-)

To make an HTTP request of a server try inspecting the following:

HyHTTPClient getUsingURIString: 'www.google.com'.

To stop (all of) the server(s) running in your image:

HTTPServer allInstances do: [:anHTTPServer | anHTTPServer stop]

If you have questions about Hyper, please ask them on the comp.lang.smalltalk news group.

Hyper is copyright(c) 2006 Bruce Badger and also copyright all the people who contributed to the Swazoo HTTP server up to version 0.9.76. Hyper is made available under the GNU LGPL.

Hyper has been developed over several years as part of the work to build various OpenSkills systems. Hyper started out as the HTTP server part of Swazoo, but the OpenSkills work was never merged into the main-line of Swazoo, so Hyper has been released in it's own right.