|
@@ -7,43 +7,6 @@ import he from 'he'
|
|
|
|
|
|
const e = he.encode
|
|
|
|
|
|
-/**
|
|
|
- * A very haxxor server that outputs some of the data it receives in a POST form parameter.
|
|
|
- */
|
|
|
-
|
|
|
-const server = http.createServer(onrequest)
|
|
|
-server.listen(9967)
|
|
|
-
|
|
|
-function onrequest (req, res) {
|
|
|
- if (req.url !== '/test') {
|
|
|
- res.writeHead(404, { 'content-type': 'text/html' })
|
|
|
- res.end('404')
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- function onbody (body) {
|
|
|
- const fields = qs.parse(body)
|
|
|
- const result = JSON.parse(fields.uppyResult)
|
|
|
- const assemblies = result[0].transloadit
|
|
|
-
|
|
|
- res.setHeader('content-type', 'text/html')
|
|
|
- res.write(Header())
|
|
|
- res.write(FormFields(fields))
|
|
|
- assemblies.forEach((assembly) => {
|
|
|
- res.write(AssemblyResult(assembly))
|
|
|
- })
|
|
|
- res.end(Footer())
|
|
|
- }
|
|
|
-
|
|
|
- {
|
|
|
- let body = ''
|
|
|
- req.on('data', (chunk) => { body += chunk })
|
|
|
- req.on('end', () => {
|
|
|
- onbody(body)
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
function Header () {
|
|
|
return `
|
|
|
<!DOCTYPE html>
|
|
@@ -74,13 +37,6 @@ function Footer () {
|
|
|
}
|
|
|
|
|
|
function FormFields (fields) {
|
|
|
- return `
|
|
|
- <h1>Form Fields</h1>
|
|
|
- <dl>
|
|
|
- ${Object.entries(fields).map(Field).join('\n')}
|
|
|
- </dl>
|
|
|
- `
|
|
|
-
|
|
|
function Field ([name, value]) {
|
|
|
if (name === 'transloadit') return ''
|
|
|
let isValueJSON = false
|
|
@@ -113,43 +69,87 @@ function FormFields (fields) {
|
|
|
</dd>
|
|
|
`
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-function AssemblyResult (assembly) {
|
|
|
return `
|
|
|
- <h1>${e(assembly.assembly_id)} (${e(assembly.ok)})</h1>
|
|
|
- ${UploadsList(assembly.uploads)}
|
|
|
- ${ResultsList(assembly.results)}
|
|
|
- `
|
|
|
+ <h1>Form Fields</h1>
|
|
|
+ <dl>
|
|
|
+ ${Object.entries(fields).map(Field).join('\n')}
|
|
|
+ </dl>
|
|
|
+`
|
|
|
}
|
|
|
|
|
|
function UploadsList (uploads) {
|
|
|
+ function Upload (upload) {
|
|
|
+ return `<li>${e(upload.name)}</li>`
|
|
|
+ }
|
|
|
+
|
|
|
return `
|
|
|
<ul>
|
|
|
${uploads.map(Upload).join('\n')}
|
|
|
</ul>
|
|
|
`
|
|
|
-
|
|
|
- function Upload (upload) {
|
|
|
- return `<li>${e(upload.name)}</li>`
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
function ResultsList (results) {
|
|
|
- return Object.keys(results)
|
|
|
- .map(ResultsSection)
|
|
|
- .join('\n')
|
|
|
+ function Result (result) {
|
|
|
+ return `<li>${e(result.name)} <a href="${result.ssl_url}" target="_blank">View</a></li>`
|
|
|
+ }
|
|
|
|
|
|
function ResultsSection (stepName) {
|
|
|
return `
|
|
|
- <h2>${e(stepName)}</h2>
|
|
|
- <ul>
|
|
|
- ${results[stepName].map(Result).join('\n')}
|
|
|
- </ul>
|
|
|
+ <h2>${e(stepName)}</h2>
|
|
|
+ <ul>
|
|
|
+ ${results[stepName].map(Result).join('\n')}
|
|
|
+ </ul>
|
|
|
`
|
|
|
}
|
|
|
|
|
|
- function Result (result) {
|
|
|
- return `<li>${e(result.name)} <a href="${result.ssl_url}" target="_blank">View</a></li>`
|
|
|
+ return Object.keys(results)
|
|
|
+ .map(ResultsSection)
|
|
|
+ .join('\n')
|
|
|
+}
|
|
|
+
|
|
|
+function AssemblyResult (assembly) {
|
|
|
+ return `
|
|
|
+ <h1>${e(assembly.assembly_id)} (${e(assembly.ok)})</h1>
|
|
|
+ ${UploadsList(assembly.uploads)}
|
|
|
+ ${ResultsList(assembly.results)}
|
|
|
+ `
|
|
|
+}
|
|
|
+
|
|
|
+function onrequest (req, res) {
|
|
|
+ if (req.url !== '/test') {
|
|
|
+ res.writeHead(404, { 'content-type': 'text/html' })
|
|
|
+ res.end('404')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ function onbody (body) {
|
|
|
+ const fields = qs.parse(body)
|
|
|
+ const result = JSON.parse(fields.uppyResult)
|
|
|
+ const assemblies = result[0].transloadit
|
|
|
+
|
|
|
+ res.setHeader('content-type', 'text/html')
|
|
|
+ res.write(Header())
|
|
|
+ res.write(FormFields(fields))
|
|
|
+ assemblies.forEach((assembly) => {
|
|
|
+ res.write(AssemblyResult(assembly))
|
|
|
+ })
|
|
|
+ res.end(Footer())
|
|
|
+ }
|
|
|
+
|
|
|
+ {
|
|
|
+ let body = ''
|
|
|
+ req.on('data', (chunk) => { body += chunk })
|
|
|
+ req.on('end', () => {
|
|
|
+ onbody(body)
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+/**
|
|
|
+ * A very haxxor server that outputs some of the data it receives in a POST form parameter.
|
|
|
+ */
|
|
|
+
|
|
|
+const server = http.createServer(onrequest)
|
|
|
+server.listen(9967)
|