Damien,

On 20 Feb 2012, at 16:00, Damien Cassou wrote:

> Hi Sven,
> 
> On Mon, Feb 20, 2012 at 3:08 PM, Sven Van Caekenberghe <[email protected]> wrote:
>> In well under a minute, you can browse http://localhost:1701 and all this 
>> with less than 20Mb being downloaded.
> 
> I don't get it. What is this server serving exactly? Where are the served 
> files?
> 
> -- 
> Damien Cassou
> http://damiencassou.seasidehosting.st
> 
> "Lambdas are relegated to relative obscurity until Java makes them
> popular by not having them." James Iry

Glad you asked ;-)

It is an HTTP server, not necessarily a static file server (but it could be an 
elementary one, given proper configuration, see ZnStaticFileServerDelegate).

What you see, is what ZnServer exposes by default, as implemented by 
ZnDefaultServerDelegate, which is just some friendly welcome page (like when 
you install an unconfigured Apache) combined with somewhat hidden test 
functionality. From the class comment:

---

I am ZnDefaultServerDelegate.
I function as a delegate for ZnServer, implementing #handleRequest:

I implement responses to the following prefixes:

/echo - an echo text of request information for debugging purposes
/dw-bench - a dynamic html page for benchmarking purposes
/unicode - a unicode test page
/random - a random string (/random/32 for a specific size)
/bytes - bytes according to a pattern (/bytes/32 for a specific size)
/favicon.ico - a Zn favicon
/status - a server status page
/help - lists all page prefixes
/ - an html welcome page

Without any matches, I respond with a page not found.

Part of Zinc HTTP Components.

---

Sven

PS: 

Other interesting delegates are ZnDispatcherDelegate as well as 
ZnMonticelloServerDelegate.
 
The pages at http://zn.stfx.eu and in particular http://zn.stfx.eu/help serve 
this live, with the following config:

ZnServer startDefaultOn: 8080.
!
| staticFileServer |
(staticFileServer := ZnStaticFileServerDelegate new)
        prefixFromString: 'zn'; 
        directory: (FileDirectory on: '/home/ubuntu/zn').
ZnServer default delegate prefixMap 
        at: 'zn' 
        put: [ :request | staticFileServer handleRequest: request ];
        at: 'redirect-to-zn'
        put: [ :request | ZnResponse redirect: '/zn/index.html' ];
        at: '/'
        put: 'redirect-to-zn'.


Reply via email to