let querystring = require('querystring') let stream_buffers = require('stream-buffers') return async env => { if (env.request.method == 'POST') { let write_stream = new stream_buffers.WritableStreamBuffer() let data = new Promise( (resolve, reject) => { write_stream. on('finish', () => {resolve(write_stream.getContents())}). on('error', () => {reject()}) } ) env.request.pipe(write_stream) let query = querystring.parse((await data).toString()) let a_length = parseFloat(query.a_length) let b_length = parseFloat(query.b_length) let height = parseFloat(query.height) let area = (a_length + b_length) / 2 * height let _out = [] _out.push( ` Calculation

The Height is: ${height} units

The A length is: ${a_length} units

The B length is: ${b_length} units

The area is: ${area} units2

` ) env.site.serve( env, 200, Buffer.from(_out.join('')), 'calculate_button_trapezium.html.jst' ) } else { let _out = [] _out.push( ` Calculation

Error - Unable to Calculate

` ) env.site.serve( env, 200, Buffer.from(_out.join('')), 'calculatebutton.html.jst' ) } }