server.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const http = require('http')
  2. const qs = require('querystring')
  3. /**
  4. * A very haxxor server that outputs some of the data it receives in a POST form parameter.
  5. */
  6. http.createServer((req, res) => {
  7. if (req.url !== '/test') {
  8. res.writeHead(404, {'content-type': 'text/html'})
  9. res.end('404')
  10. return
  11. }
  12. let body = ''
  13. req.on('data', (chunk) => { body += chunk })
  14. req.on('end', () => {
  15. res.setHeader('content-type', 'text/html')
  16. const fields = qs.parse(body)
  17. JSON.parse(fields.transloadit).forEach((assembly) => {
  18. res.write(`
  19. <h1>${assembly.assembly_id} (${assembly.ok})</h1>
  20. <ul>
  21. ${assembly.uploads.map((upload) => {
  22. return `<li>${upload.name}</li>`
  23. }).join('\n')}
  24. </ul>
  25. ${Object.keys(assembly.results).map((stepName) => {
  26. return `
  27. <h2>${stepName}</h2>
  28. <ul>
  29. ${assembly.results[stepName].map((result) => {
  30. return `<li>${result.name} <a href="${result.ssl_url}" target="_blank">View</a></li>`
  31. }).join('\n')}
  32. </ul>
  33. `
  34. }).join('\n')}
  35. `)
  36. })
  37. res.end()
  38. })
  39. }).listen(9967)