Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A cross-platform web server that's scripted with Nu.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 MacOS
Octocat-spinner-32 art
Octocat-spinner-32 hello
Octocat-spinner-32 nu
Octocat-spinner-32 objc
Octocat-spinner-32 sample
Octocat-spinner-32 test
Octocat-spinner-32 LICENSE
Octocat-spinner-32 NOTICE
Octocat-spinner-32 Nukefile
Octocat-spinner-32 README
Octocat-spinner-32 image.png
Octocat-spinner-32 nunjad
README
Nunja is a small portable web server for use with Nu.

It is based on the libevent event notification library
(http://monkey.org/~provos/libevent/), and has been tested
on OS X 10.5 and Linux (Ubuntu-7.10) systems. 
	
REQUIREMENTS

Nunja requires Nu and nuke, the Nu build tool. To obtain
Nu, please visit http://programming.nu or get the source
from the Nu git repository on github:
	http://github.com/timburks/nu
	
Nunja requires libevent. Before building Nunja, please 
be sure that libevent is installed on your system. The
default build configuration expects libevent to be installed
in /usr/local.

Helpers for working with URL query strings have been 
factored out into a separate project, NuHTTPHelpers, 
which is now required to run Nunja.

On Linux systems, Nunja requires an implementation of the
Foundation classes. It has been tested with NuFound, a
modified version of the libFoundation library that has been
updated to work with Nu and which can be built using the
GNU autotools. The primary NuFound repository is on github: 
	http://github.com/timburks/nufound
	
The primary Nunja repository is also on github:
	http://github.com/timburks/nunja
	
INSTALLATION

After installing all prerequisites, build the Nunja framework
by typing "nuke" in the top-level Nunja directory.

AN EXAMPLE

Let's start with the simplest possible Nunja app:

==============================================
#!/usr/local/bin/nush
(load "Nunja")
(set nunja (Nunja nunjaWithCommandLineArguments))

(get "/"
	"hello!")

(nunja run)
==============================================

Nunja can also be run from the command line using the "nunjad" 
(nunja daemon) script.  nunjad accepts arguments that can
be used to specify a port and a site description. A sample
site description is in the sample directory. To run it in
Nunja, use the following command:
	nunjad --site sample
	
Currently the sample site is very simple, but illustrates
the processing of GET and POST requests and the basics of
response generation, including the use of cookies.

INFLUENCES

Nunja is modeled on Blake Mizerany's Sinatra, 
	http://sinatra.rubyforge.org/
but has the clarity and transparency of implementation
that can only be achieved with Objective-C and Nu.

AUTHOR

Nunja was written by Tim Burks and awaits a host of updates
and improvements from its users.

Nunja is released under the Apache License, version 2.0.

Copyright 2008-2009, Neon Design Technology, Inc.
Something went wrong with that request. Please try again.