Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var querystring = require("querystring"),
- http = require("http"),
- path = require("path"),
- url = require("url"),
- fs = require("fs");
- http.createServer(function(req,res){
- var URL = url.parse(req.url);
- if(URL.pathname === "/favicon.ico") return pipe(__dirname+"/favicon.ico",res);
- if(URL.pathname === "/submit.html"){
- if(req.method == "POST"){
- var body = '';
- req.on("data",function(data){
- body += data;
- if(body.length > 1e6) req.connection.destroy();
- });
- req.on("end",function(){
- saveFormData(querystring.parse(body),res);
- });
- return;
- }else{
- return res.end("No data sent, please try again.");
- }
- }
- return form(res);
- }).listen(8000);
- function saveFormData(data,res){
- if(data.text){
- var s = fs.createWriteStream(__dirname+"/submitted.txt",{"flags":"a"});
- s.write(data.text+"\n");
- pipe(__dirname+"/submitted.txt",res,{"content-type":"text/plain"});
- }else{
- return res.end("No data sent, please try again.");
- }
- }
- function form(res){
- res.writeHead(200,{"content-type":"text/html"});
- res.end('<form action="submit.html" method="POST"><textarea name="text"></textarea><input type="submit" /></form>')
- }
- function pipe(file,res,headers){
- path.exists(file,function(exists){
- if(exists){
- var s = fs.createReadStream(file);
- s.on('error',function(e){
- res.end();
- });
- res.writeHead(200,(headers ? headers:{}));
- s.pipe(res);
- }else{
- res.writeHead(404);
- res.end("The requested file does not exist.");
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement