[ANN] KomHttpServer 6.1 (beta)
Stephen Pair
stephen at pairhome.net
Fri May 16 03:20:51 UTC 2003
This is the latest release of Comanche (it is a successor to ComancheNG
package). The following two packages have been withdrawn from SqueakMap:
ComancheNG
SeasideService
This package is in beta status, which means that only bug fixes and
minor changes will be introduced. The release notes are copied below.
Package Home Page: http://squeaklab.org/comanche/index.html
Installable download:
http://squeaklab.org/comanche/downloads/KomHttpServer-6.1.sar
SqueakMap:
http://map2.squeakfoundation.org/sm/package/0fdb5ffc-cfa1-4d40-96c2-fe325bc8ba5f
Note: it is not necessary to install the pre-requisites, they will
automatically be installed (if not already installed).
===== KomHttpServer 6.1 (Build #32) =====
Prerequisite packages (default fulfillments)
KomServices: sqpkg://services.kom:1.0
===== Release Notes =====
KomHttpServer is the Comanche web server package. To get a simple web
server running, install this package and evaluate the code below. A
simple file serving web server will be started and will serve the files
in your default directory.
| ma |
ma := ModuleAssembly core.
ma serverRoot: FileDirectory default fullName.
ma documentRoot: FileDirectory default fullName.
ma directoryIndex: 'index.html index.htm'.
ma serveFiles.
(HttpService startOn: 8080 named: 'httpd') plug: ma rootModule
After starting the server, point your web browser to http://localhost:8080/
If you have loaded Seaside, you can start a web server that serves
Seaside based applications using the following configuration:
| ma seaside |
seaside := WAKom new.
ma := ModuleAssembly core.
ma serverRoot: FileDirectory default fullName.
ma alias: '/seaside' to: [ma addPlug: [:request | seaside process:
request]].
ma documentRoot: FileDirectory default fullName.
ma directoryIndex: 'index.html index.htm'.
ma serveFiles.
(HttpService startOn: 8080 named: 'httpd') plug: ma rootModule
See the class comments of the various subclasses of ComancheModule for
documentation and usage examples.
===== Release History =====
Version 6.1:
- Packaged using KomPackaging (Squeak version only)
- Separated the services framework into a separate package called
KomServices
- Added a module framework
- The following modules have been added (see the individual classes
for details):
- ModCore - this is the core module and designed to be the root
of a module assembly, it extracts basic information from the request and
makes it available to sub-modules, it also handles http TRACE and
OPTIONS methods
- ModMulti - this is a module designed only to wrap submodules
into a single entity
- ModAlias - for mapping url prefixes to sub modules
- ModAuth - for authentication
- KomAuthDb - a very basic user and password database
- ModAutoIndex - for generating directory listings
- ModDir - for directory processing (including redirects to fix
the trailing slash problem)
- ModDoc - for file location processing in a file server
- ModVhost - for name based virtual hosting
- ModVhostDoc - for document serving based on virtual host name
- ModVhostAlias - for module routing based on the virtual
host name
- ModFile - for serving files
- ModLog - for logging http requests (not yet usable)
- KomLogger - writes out a log in CLF format
- KomTracer - writes out a detailed trace of http
request/response pairs
- ModNotFound - if reached will generate a not found response
- ModSession - for client session handling
- KomSession - the session class used by ModSession (by default)
- Added ModuleAssembly to help in creating module assemblies
- Renamed classes:
- ComancheHttpService -> HttpService
- Removed classes
- BoundedStream
- HttpBadRequest
- HttpParser
- NetworkProtocolAdaptor
- NetworkRequest
Version 6.0.1 (aka ComancheNG 1.0.1):
- Adds pluggability to ComancheHttpService (see class comments).
Version 6.0 (aka ComancheNG 1.0):
- Initial ComancheNG release
===== Future Enhancement Plans =====
- add WebDAV server capability (in a separate package)
- synchronize with the network rewrite project
- separate some of the http protocol support into a separate package and
provide an Http/WebDAV client implementation (separate package)
- rework the handling of chunked responses (using the SharedStreams package)
- rework the handling of document uploads (via multipart/form-data)
using the SharedStreams package
- support chunked transfer encoding for incoming requests
- Reify cookies and make them easier to work with
- Slim down HttpRequest and HttpResponse such that they are only
responsible for constructing requests and responses (currently, these
classes are heavily overloaded)
More information about the Squeak-dev
mailing list
|