WebFund 2016W: Assignment 2

From Soma-notes
Revision as of 17:23, 20 January 2016 by Soma (talk | contribs)
Jump to navigation Jump to search

This assignment is not yet finalized.

In this assignment you will be be extending the functionality of tinywebserver.js from Tutorial 2. There are ?? points in ?? tasks. This assignment is due on January 27, 2016.


Your modified version of tinywebserver.js should have the following functionality:

  1. Add a new 777 status code if there is a request for any document with the word "lucky" in its URL (path or document name).
  2. Add a command line argument which is the name of a configuration file. This file should contain the contents of the options object. Note that tinywebserver.js should start up correctly without this option file being specified; in this case it should behave as it did originally.
  3. In the configuration file add the following properties to the option object that change the behavior of the app as follows (note it should also contain all the options that were already part of the options object):
    • logged-headers: a comma-separated list of headers that should be logged for each incoming request. If no logged headers are specified, no headers should be logged.
    • logfile: the filename where to write log messages. They should be written to standard out (as console.log does) if no logfile is specified.
    • errorpage: html file to be returned when an error page is returned (not 200). The 777 status code should NOT return an error page, it should return the regular document (777 is an alias for 200).
    • aliases: object where the key is the alias and the value is what should be substituted. The alias should be for the entire doc path (the URL without the hostname).