LatLatLong.LAB | Artify the Earth

Team Updates

'use strict'
consthttp=require('http')
constmaxContentSize=3500
constisPostMethod=(req)=>{
returnreq.method==='post'
}
constgetPostData=(req,res)=>{
letdata=''
req.on('data',(chunk)=>{
// res.setEncoding('utf8')
console.log('server: data event: '+chunk.toString())
data+=chunk
})
req.on('end',()=>{
console.log('[server] end')
console.log(data)
res.writeHead(200,{'Content-Type': 'text/plain'})
res.end('finished')
})
}
// req: incoming
// res: serverresponse
constcheckContentLength=(req)=>{
// reqest headerのcontent-lengthによってレスポンスを変える
constlength=parseInt(req.headers['content-length'])
console.log(`length: ${length}`)
if(!length){
returnfalse
}elseif(length<=maxContentSize){
returntrue
}else{
returnfalse
}
}
constserver=http.createServer((req,res)=>{
if(!isPostMethod(req)){
res.writeHead(400,'bad request')
}
letisContinue=checkContentLength(req)
if(isContinue){
getPostData(req,res)
}else{
res.writeHead(400,'bad request')
}
console.log('[server] response event')
})
/*
* http.Server events
* req: IncomingMessage
* res: ServerResponse
*/
server.on('checkContinue',(req,res)=>{
if(!isPostMethod(req)){
res.writeHead(400,'bad request')
}
letisContinue=checkContentLength(req)
if(isContinue){
res.writeContinue()
getPostData(req,res)
}else{
res.writeHead(400,'bad request')
}
console.log('[server] checkContinue events')
})
// listen
server.listen(8080)
server.on('close',()=>{
console.log('[server] close event')
})
console.log(`listening on 3000`)
ikasumi_wtyusuke kato

YeahYeah

futoshiFutoshi Iwasebari
NASA Logo

SpaceApps is a NASA incubator innovation program.