# glurp

> An easy to use framework for creating quick and simple HTTP servers in node.js

Latest version **1.0.1** (published 2015-11-10) · ISC license · 0 weekly downloads

## Install

```sh
npm install glurp
pnpm add glurp
yarn add glurp
bun add glurp
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2015-11-10 |
| First published | 2015-11-09 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | timmydoza@gmail.com, matthew.r.ringel@gmail.com, isabellaorgan@gmail.com |
| Maintainers | isabellaorgan, mringel, timmydoza |
| Keywords | glurp, node, server, http, framework |

## Links

- npm: https://www.npmjs.com/package/glurp
- Repository: https://github.com/timmydoza/glurp
- Homepage: https://github.com/timmydoza/glurp#readme
- Issues: https://github.com/timmydoza/glurp/issues
- npm.io page: https://npm.io/package/glurp

## Alternatives

- [@sveltejs/kit](https://npm.io/package/@sveltejs/kit.md) — 2.2M weekly downloads
- [@atlaskit/theme](https://npm.io/package/@atlaskit/theme.md) — 402.0K weekly downloads
- [@tangle-network/brand](https://npm.io/package/@tangle-network/brand.md) — 10.0K weekly downloads
- [seneca](https://npm.io/package/seneca.md) — 7.4K weekly downloads
- [@bsb/base](https://npm.io/package/@bsb/base.md) — 7.2K weekly downloads

## Recent versions

- 1.0.1 (latest) — 2015-11-10
- 1.0.0 — 2015-11-09

## README

[![Build Status](https://travis-ci.org/timmydoza/glurp.svg)](https://travis-ci.org/timmydoza/glurp)

# glurp
 An easy to use framework for creating quick and simple HTTP servers in node.js.

## Introduction

Welcome to Glurp - A RESTful API framework for Node using the HTTP module.  Glurp is a library that automates creating a node HTTP server and router that can handle multiple route requests and easily respond with multiple file types, including HTML, CSS, JPEG and JS.


## Getting Started with glurp
First, install glurp by running `npm install --save glurp` in your project directory.  Then, open a new JavaScript file and add these two lines of code:
```javascript
var glurp = require('glurp');

glurp.start(3000, './'); 
```
Run your JavaScript file with node.js and that's it!! You now have an HTTP server running on port 3000 that's hosting all files in the current directory. 

## glurp METHODS

### glurp.set(method, route, callback) 
Binds a callback function to an HTTP request method and route.  Accepts strings for the first two arguments.

### glurp.start(port, publicDirectory)
Starts an HTTP server with a specified port and directory for hosting static files. Accepts an integer and a string as arguments.

## Request Object
The glurp request object has the same methods and properties as the node.js <a href="https://nodejs.org/api/http.html#http_http_incomingmessage">http.IncomingMessage</a> class, in addition to the following:

### req.data
This property stores the data received from an HTTP request as a string.

## Response Object
The glurp response object has the same methods and properties as the node.js <a href="https://nodejs.org/api/http.html#http_class_http_serverresponse">http.ServerResponse</a> class, in addition to the following:
### res.send(string) 
Accepts a string and sends it to the client as plain text.  

### res.sendHtml(string)
Accepts a string and sends it to the client to be rendered as HTML. 

### res.sendFile(string)
Accepts a file name as a string and sends it to the server with the appropriate headers.  Glurp looks for the specified file in the location stated in glurp.start().

##Sample glurp server

```javascript
var glurp = require('glurp');

glurp.set('GET', '/', function(req, res) {
	res.sendFile('/index.html'); //glurp will look in ./static for index.html
});

glurp.set('POST', '/testpost', function(req, res) {
	res.send('Received data: ' + req.data);
});

glurp.set('GET', '/renderhtml', function(req, res) {
	res.sendHtml('<h1>Look! This is <i>HTML</i></h1>');
});

glurp.start(3000, __dirname + '/static');

```

---
_Source: https://npm.io/package/glurp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
