serverless-aws-lambda
Version:
AWS Application Load Balancer and API Gateway - Lambda dev tool for Serverless. Allows Express synthax in handlers. Supports packaging, local invoking and offline ALB, APG, S3, SNS, SQS, DynamoDB Stream server mocking.
2 lines (1 loc) • 1.63 kB
JavaScript
var l=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var g=(e,t)=>{for(var s in t)l(e,s,{get:t[s],enumerable:!0})},h=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of d(t))!i.call(e,a)&&a!==s&&l(e,a,{get:()=>t[a],enumerable:!(n=p(t,a))||n.enumerable});return e};var u=e=>h(l({},"__esModule",{value:!0}),e);var C={};g(C,{bodyParser:()=>y,default:()=>m});module.exports=u(C);var b=(e,t)=>{let s=[],n={};e.isBase64Encoded&&(e.body=Buffer.from(e.body,"base64").toString("utf-8"));let a=e.headers?.["content-type"],f=a?.split("=")[1];if(f){let r={};e.body.split(f).forEach(o=>{/filename=".+"/g.test(o)?r[o.match(/name=".+";/g)[0].slice(6,-2)]={type:"file",filename:o.match(/filename=".+"/g)[0].slice(10,-1),contentType:o.match(/Content-Type:\s.+/g)[0].slice(14),content:t?Buffer.from(o.slice(o.search(/Content-Type:\s.+/g)+o.match(/Content-Type:\s.+/g)[0].length+4,-4),"binary"):o.slice(o.search(/Content-Type:\s.+/g)+o.match(/Content-Type:\s.+/g)[0].length+4,-4)}:/name=".+"/g.test(o)&&(r[o.match(/name=".+"/g)[0].slice(6,-1)]=o.slice(o.search(/name=".+"/g)+o.match(/name=".+"/g)[0].length+4,-4))});for(let[o,c]of Object.entries(r))typeof c=="string"?n[o]=c:c&&typeof c=="object"&&s.push({name:o,...c})}else a=="application/x-www-form-urlencoded"&&(e.body.split("&").forEach(r=>{let[o,c]=r.split("=");n[decodeURIComponent(o)]=decodeURIComponent(c)}),e.body=n);return{files:s,body:n}},y=(e,t,s)=>{try{let n=b(e,!0);e.files=n.files,e.body=n.body,e.isBase64Encoded=!1}catch{}s()},m=y;0&&(module.exports={bodyParser});
;