Giter Club home page Giter Club logo

static-server's Introduction

Build Status

Node static server

A simple http server to serve static resource files from a local directory.

Getting started

  • Install node.js
  • Install npm package globally npm -g install static-server
  • Go to the folder you want to serve
  • Run the server static-server

Options

-h, --help                 output usage information
-V, --version              output the version number
-p, --port <n>             the port to listen to for incoming HTTP connections
-i, --index <filename>     the default index file if not specified
-f, --follow-symlink       follow links, otherwise fail with file not found
-d, --debug                enable to show error messages
-n, --not-found <filename> the error 404 file
-c, --cors <pattern>       Cross Origin Pattern. Use "*" to allow all origins
-z, --no-nocache           disable cache (http 304) responses.
-o, --open                 open server in the local browser

Using as a node module

The server may be used as a dependency HTTP server.

Example

var StaticServer = require('static-server');
var server = new StaticServer({
  rootPath: '.',            // required, the root of the server file tree
  port: 1337,               // required, the port to listen
  name: 'my-http-server',   // optional, will set "X-Powered-by" HTTP header
  host: '10.0.0.100',       // optional, defaults to any interface
  cors: '*',                // optional, defaults to undefined
  followSymlink: true,      // optional, defaults to a 404 error
  templates: {
    index: 'foo.html',      // optional, defaults to 'index.html'
    notFound: '404.html'    // optional, defaults to undefined
  }
});

server.start(function () {
  console.log('Server listening to', server.port);
});

server.on('request', function (req, res) {
  // req.path is the URL resource (file name) from server.rootPath
  // req.elapsedTime returns a string of the request's elapsed time
});

server.on('symbolicLink', function (link, file) {
  // link is the source of the reference
  // file is the link reference
  console.log('File', link, 'is a link to', file);
});

server.on('response', function (req, res, err, file, stat) {
  // res.status is the response status sent to the client
  // res.headers are the headers sent
  // err is any error message thrown
  // file the file being served (may be null)
  // stat the stat of the file being served (is null if file is null)

  // NOTE: the response has already been sent at this point
});

FAQ

  • Can I use this project in production environments? Obviously not.
  • Can this server run php, ruby, python or any other cgi script? No.
  • Is this server ready to receive thousands of requests? Preferably not.

Contributors

An special thank you to all contributors who allow this project to continue to evolve.

License

The MIT License (MIT)

static-server's People

Contributors

nbluis avatar arcath avatar yanickrochon avatar hulvei3 avatar kennedyrose avatar ineluki avatar lordvlad avatar lorenmh avatar camelcased avatar bmcminn avatar marciodrosa avatar olalonde avatar pascalpflaum avatar cvan avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.