Skip to content

Instantly share code, notes, and snippets.

@sethdusek
Created September 13, 2015 11:18
Show Gist options
  • Save sethdusek/2a4f2f807b8e156c612f to your computer and use it in GitHub Desktop.
Save sethdusek/2a4f2f807b8e156c612f to your computer and use it in GitHub Desktop.
var http = require("http")
var path=require("path")
var fs = require("fs")
var busboy = require("busboy")
var key="YOURKEY" //needed for authentication
function generatename(extension){
var length = Math.floor((Math.random()*10)+1)
var letters = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",1,2,3,4,5,6,7,8,9,0]
var name=""
for (var i=1;i<=length;i++) {
name=name+letters[Math.floor((Math.random()*letters.length)+1)-1]
}
if (fs.existsSync("public_html/images/"+name+extension)){
return generatename(extension)
}
else {
return name+"."+extension
}
}
console.log(generatename(".png"))
var serv = http.createServer(function(request,response) {
console.log("hey")
//console.log(request)
console.log(request.headers.key,key)
if (request.headers["key"]==key){
var bus = new busboy({headers:request.headers})
console.log("key is correct")
//console.log(bus.headers["key"])
//console.log(bus)
//response.end()
bus.on("file",function(fieldname,file,filename,encoding,mimetype) {
console.log(filename,path.basename(fieldname))
console.log(encoding,mimetype)
console.log("wat")
var name =generatename(filename.split(".")[1])
file.pipe(fs.createWriteStream("public_html/images/"+name))
response.write("http://shibe.ml/images/"+name)
response.end()
})
request.pipe(bus)
//response.end()
}
}).listen(8888)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment