1 line
5.4 KiB
Plaintext
1 line
5.4 KiB
Plaintext
{"code":"__filename=\"D:\\\\Minglar Backend NestJS\\\\src\\\\common\\\\utils\\\\helper\\\\parseMultipartFormData.ts\";(()=>{\nvar __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:true}):target,mod));var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var parseMultipartFormData_exports={};__export(parseMultipartFormData_exports,{parseJsonField:()=>parseJsonField,parseMultipartFormData:()=>parseMultipartFormData});module.exports=__toCommonJS(parseMultipartFormData_exports);var import_ApiError=__toESM(require(\"./ApiError\"));function parseMultipartFormData(eventBody,contentType,isBase64Encoded=false){if(!eventBody){throw new import_ApiError.default(400,\"Request body is required\")}if(!contentType||!contentType.includes(\"multipart/form-data\")){throw new import_ApiError.default(400,\"Content-Type must be multipart/form-data\")}const boundaryMatch=contentType.match(/boundary=([^;]+)/);if(!boundaryMatch){throw new import_ApiError.default(400,\"Invalid multipart boundary\")}const boundary=boundaryMatch[1].trim();let bodyBuffer;try{if(isBase64Encoded){bodyBuffer=Buffer.from(eventBody,\"base64\")}else{if(eventBody.match(/^[A-Za-z0-9+/=]+$/)){bodyBuffer=Buffer.from(eventBody,\"base64\")}else{bodyBuffer=Buffer.from(eventBody,\"binary\")}}}catch(error){throw new import_ApiError.default(400,\"Invalid request body encoding\")}const parts=bodyBuffer.toString(\"binary\").split(`--${boundary}`);const fields={};const files=[];for(const part of parts){if(!part||part.trim()===\"\"||part.trim()===\"--\"){continue}const[headers,...bodyParts]=part.split(\"\\r\\n\\r\\n\");if(!headers||bodyParts.length===0){continue}const body=bodyParts.join(\"\\r\\n\\r\\n\").trim();if(!body){continue}const contentDispositionMatch=headers.match(/Content-Disposition:\\s*form-data;\\s*name=\"([^\"]+)\"/);if(!contentDispositionMatch){continue}const fieldName=contentDispositionMatch[1];const filenameMatch=headers.match(/filename=\"([^\"]+)\"/);const contentTypeMatch=headers.match(/Content-Type:\\s*([^\\r\\n]+)/);if(filenameMatch){const fileName=filenameMatch[1];const fileContentType=contentTypeMatch?contentTypeMatch[1].trim():\"application/octet-stream\";const fileData=Buffer.from(body.replace(/\\r\\n--$/,\"\"),\"binary\");files.push({fieldName,fileName,contentType:fileContentType,data:fileData})}else{fields[fieldName]=body.replace(/\\r\\n--$/,\"\").trim()}}return{fields,files}}__name(parseMultipartFormData,\"parseMultipartFormData\");function parseJsonField(fields,fieldName){const value=fields[fieldName];if(!value){return null}try{return JSON.parse(value)}catch(error){throw new import_ApiError.default(400,`Invalid JSON in field: ${fieldName}`)}}__name(parseJsonField,\"parseJsonField\");0&&(module.exports={parseJsonField,parseMultipartFormData});\n})()\n","warnings":[],"map":{"version":3,"mappings":";i/BAAA,qPAAqB,+BAgBd,SAAS,uBACd,UACA,YACA,gBAA2B,MACX,CAChB,GAAI,CAAC,UAAW,CACd,MAAM,IAAI,gBAAAA,QAAS,IAAK,0BAA0B,CACpD,CAEA,GAAI,CAAC,aAAe,CAAC,YAAY,SAAS,qBAAqB,EAAG,CAChE,MAAM,IAAI,gBAAAA,QAAS,IAAK,0CAA0C,CACpE,CAGA,MAAM,cAAgB,YAAY,MAAM,kBAAkB,EAC1D,GAAI,CAAC,cAAe,CAClB,MAAM,IAAI,gBAAAA,QAAS,IAAK,4BAA4B,CACtD,CACA,MAAM,SAAW,cAAc,CAAC,EAAE,KAAK,EAGvC,IAAI,WACJ,GAAI,CACF,GAAI,gBAAiB,CACnB,WAAa,OAAO,KAAK,UAAW,QAAQ,CAC9C,KAAO,CAEL,GAAI,UAAU,MAAM,mBAAmB,EAAG,CACxC,WAAa,OAAO,KAAK,UAAW,QAAQ,CAC9C,KAAO,CACL,WAAa,OAAO,KAAK,UAAW,QAAQ,CAC9C,CACF,CACF,OAAS,MAAO,CACd,MAAM,IAAI,gBAAAA,QAAS,IAAK,+BAA+B,CACzD,CAGA,MAAM,MAAQ,WAAW,SAAS,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,EAEjE,MAAM,OAAiC,CAAC,EACxC,MAAM,MAAiC,CAAC,EAExC,UAAW,QAAQ,MAAO,CACxB,GAAI,CAAC,MAAQ,KAAK,KAAK,IAAM,IAAM,KAAK,KAAK,IAAM,KAAM,CACvD,QACF,CAGA,KAAM,CAAC,QAAS,GAAG,SAAS,EAAI,KAAK,MAAM,UAAU,EACrD,GAAI,CAAC,SAAW,UAAU,SAAW,EAAG,CACtC,QACF,CAEA,MAAM,KAAO,UAAU,KAAK,UAAU,EAAE,KAAK,EAC7C,GAAI,CAAC,KAAM,CACT,QACF,CAGA,MAAM,wBAA0B,QAAQ,MAAM,oDAAoD,EAClG,GAAI,CAAC,wBAAyB,CAC5B,QACF,CAEA,MAAM,UAAY,wBAAwB,CAAC,EAG3C,MAAM,cAAgB,QAAQ,MAAM,oBAAoB,EACxD,MAAM,iBAAmB,QAAQ,MAAM,4BAA4B,EAEnE,GAAI,cAAe,CAEjB,MAAM,SAAW,cAAc,CAAC,EAChC,MAAM,gBAAkB,iBAAmB,iBAAiB,CAAC,EAAE,KAAK,EAAI,2BAGxE,MAAM,SAAW,OAAO,KAAK,KAAK,QAAQ,UAAW,EAAE,EAAG,QAAQ,EAElE,MAAM,KAAK,CACT,UACA,SACA,YAAa,gBACb,KAAM,QACR,CAAC,CACH,KAAO,CAEL,OAAO,SAAS,EAAI,KAAK,QAAQ,UAAW,EAAE,EAAE,KAAK,CACvD,CACF,CAEA,MAAO,CAAE,OAAQ,KAAM,CACzB,CA5FgB,wDAiGT,SAAS,eAAe,OAAgC,UAAwB,CACrF,MAAM,MAAQ,OAAO,SAAS,EAC9B,GAAI,CAAC,MAAO,CACV,OAAO,IACT,CAEA,GAAI,CACF,OAAO,KAAK,MAAM,KAAK,CACzB,OAAS,MAAO,CACd,MAAM,IAAI,gBAAAA,QAAS,IAAK,0BAA0B,SAAS,EAAE,CAC/D,CACF,CAXgB","names":["ApiError"],"ignoreList":[],"sources":["D:\\Minglar Backend NestJS\\src\\common\\utils\\helper\\parseMultipartFormData.ts"],"sourcesContent":[null]}} |