{"_id":"mos-mss","_rev":"57-45b92975cff3a70d851cb5a28562b732","name":"mos-mss","dist-tags":{"beta":"1.1.7-beta.2","latest":"1.1.10"},"versions":{"1.0.0":{"name":"mos-mss","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"mos-mss@1.0.0","maintainers":[{"name":"song940","email":"song940@gmail.com"}],"dist":{"shasum":"25c9168b4738acd3da3c030ec5ef7d92923b50ca","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.0.tgz","integrity":"sha512-YSyN/fE5TOVM22GsCxNTzX2yeeTR6wwVrQaQm3deRynaWmfqmko2aKwWtQ3CdJstA0WqbOPvosvKsGK0mfACFg==","signatures":[{"sig":"MEYCIQDm9zQbTbjWrDvKb09SlDg4XY/YhjnStwIOpcM06eFdUQIhALVBQmhzzAPNzY2x8Nk6s3/X/MMeTH4wtnZeoRZiQIQ4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"song940","email":"song940@gmail.com"},"_npmVersion":"5.6.0","description":"","directories":{},"_nodeVersion":"9.2.0","_npmOperationalInternal":{"tmp":"tmp/mos-mss-1.0.0.tgz_1514269797915_0.792474360903725","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"mos-mss","version":"0.1.0","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@0.1.0","maintainers":[{"name":"upup","email":"1092674723@qq.com"},{"name":"song940","email":"song940@gmail.com"}],"homepage":"https://github.com/meituan/mos-mss#readme","bugs":{"url":"https://github.com/meituan/mos-mss/issues"},"dist":{"shasum":"63056900a87755252b6bd3090915444164667da8","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-0.1.0.tgz","integrity":"sha512-cLRs7St6iJyJf6UuDrJpTh7u4hRD3A2Y1Myy+F5yRiPZvKBPWZJMjaYpRiv2fUL8uu9TngFY8mu+3Z13fpLWRA==","signatures":[{"sig":"MEYCIQCXPNQEoqj5Tumm4Fc8OInq6isM9GoWuk++3EnwqbhBegIhAKCfojgrhJ8jic9ApDEZSeCVs0874gLxTqkSeZOQUada","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","_from":".","files":["src"],"_shasum":"63056900a87755252b6bd3090915444164667da8","gitHead":"a2c76041f5a6cd0e088079e34feadb0c753eb298","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"3.10.9","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"6.9.2","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss-0.1.0.tgz_1515982327440_0.05817267275415361","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"mos-mss","version":"0.1.1","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@0.1.1","maintainers":[{"name":"upup","email":"1092674723@qq.com"},{"name":"song940","email":"song940@gmail.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"0826f702a2a9516359c56d388ba9378a63547707","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-0.1.1.tgz","integrity":"sha512-thk135fYXjmIpBCGDVPkrds8a3PM6FhY7xM8iRQYx0Z5Pa+FTEdw9wSpsLBS0WwIP4hGOUNFtzk7ziWFALIkfg==","signatures":[{"sig":"MEUCIFAssj+h7iyTJiFnS8aEgf82il+e8hzalzAtHl877vliAiEArR1D5oY/lsD3XzQ2ghu/wm76Pl5pupGDBGfM28iPouE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","files":["src"],"gitHead":"bf402644981ef5b1ebd36fff67d592f7ea856416","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss-0.1.1.tgz_1516688854217_0.5449360930360854","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"mos-mss","version":"0.1.2","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@0.1.2","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"ba15d931fdf1e87cf69700334f39e00cfcb3cdd4","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-0.1.2.tgz","fileCount":15,"integrity":"sha512-YPBUyWgFXkY+Y88HA4TMmUaLPrkE4fYHW809qxwN5gM6hJze9Ljn9RwJyfHDF8fUwIkZBFLTC/P+QnsTGGf2Wg==","signatures":[{"sig":"MEUCIQDcp7qBhnqTPlvIny0v5gBO2bFfeBGox0FzWjYXR3EGfwIgENXbHKgakGvysazC5SuvGc8R4TfCzlWagSHrKKo2ALY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117003},"main":"src/index.js","files":["src"],"gitHead":"6593daa723477b3992edcb7d3bf224dfc244dc7c","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_0.1.2_1518319451881_0.06236122877932093","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"mos-mss","version":"0.1.3","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@0.1.3","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"9b1a21871d453ddbe7c7deeae1f50ced099d756f","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-0.1.3.tgz","fileCount":15,"integrity":"sha512-Yl2xmAyC4qzA5eAqiAeQckdK0a1O5wQM0Ofxf8u6kCcQu+ZzROS2gDKB9p3pPTQsa8A13kbWUJb5SHGDVDx0Xw==","signatures":[{"sig":"MEUCIQDYG+igLftWn0hAZWJqJ4lGsNpZOAxeWGREviStw6LsSQIgQmB6nLPmfWx8VhoPx3aPH0e/JxKUDqrYSzPrqzmMOZw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116999},"main":"src/index.js","files":["src"],"gitHead":"5420873c376c2e5baaa20cb997d85f83c8096a09","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_0.1.3_1519615094825_0.7910098541871646","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"mos-mss","version":"0.2.0","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@0.2.0","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"67b6eed5b5a3ff06f4ea2132ba41bbff6412535c","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-0.2.0.tgz","fileCount":15,"integrity":"sha512-3fnZZcctPBsB4dBfcDrUVqunQIraynjNg2s4x8XAgJdelIyt/4UGq0Jn6PqfSD4kN+B+QvQAhxFwwhrbPL0xwQ==","signatures":[{"sig":"MEYCIQD5cfn14Jijy24DHxyX+2K74ntWRLrpPkBGT1suZxK3sQIhANDasHrALBUh/ziZHZPwPNcR+Hz0aIv79cmi+XUROpx0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119978},"main":"src/index.js","files":["src"],"gitHead":"e3d02494723035a23ffa63ed003b9fc34057f84f","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_0.2.0_1523509546891_0.07070226511487543","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"mos-mss","version":"0.2.1","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@0.2.1","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"c27a7050bc5c913991697b19678f27da18cf114d","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-0.2.1.tgz","fileCount":15,"integrity":"sha512-3S3lko7tTtgCHjdLZGd17WLqki1PtEXELBzMDmcOExZM7orpsmbi/NCnZ6KIQD1/FqJBV9ssPSn5L228M/2Lig==","signatures":[{"sig":"MEYCIQDlsSSXnbad94iO4fqe2XK8FQzsmb0PCtU2jehl+76bVQIhAP2zFs9ctevdaBqqzD7xTtjXv121FRf7ZIM0R6O2V1PV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120020},"main":"src/index.js","files":["src"],"gitHead":"82863ef80356cc2782217b79d8d855623467421e","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_0.2.1_1523516948226_0.1653320593499834","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"mos-mss","version":"1.0.1","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.1","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"0d13ed026270b3d1c80e214d1fef69b3b617ba8b","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.1.tgz","fileCount":16,"integrity":"sha512-z+SL6sMAXFHPVx/6MrYforUq2m/Oz3FYFtXvJLRJn2Ee37FKiTLitnLc9JuouwE2IXXQvvif1axXfvj40f9PlQ==","signatures":[{"sig":"MEYCIQDlEfQO1F6oOmHnVJB7jVGHtVY409UH2OjxiYrynj1fFgIhAPrubXPSwIQsDeozhP/iOXwz1Gv3zvi3prQC7hGMkVmd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBegUCRA9TVsSAnZWagAAcUoP/3rZTj0CCEVEKjStngE1\nVLJlpfgQcjn2n3AVp9/lsWo1wR60K1O1KAj6p5zFSp46GUHxamcZaLR73h4O\nwyUe7SzMOVD58Grg2HQjkD1QoYqYSHX1lqAePSVXQetvXlJQg9wTTapb2ONL\nMlTpORgDCgxtYkQJHJ8/FL8pTYOmOMn77aIlNRIhdrqkTZ4DHcHNNqdNfP6o\n7waQd157TIwK+QKhfyNUy2SiJcIqyfyY2zbCseaFpb2Kc6NdrInGRwcT6ebM\nXG8ryOaywnectzdS7xgpHfJsVqfY0mvpDtwJXec6sRSah9EnIycnPbQlsH58\n6S+pFdfcXcf7dpZZdPIj4FZQJ5uvRjQwpGoWN0O33G4khqlRYooDAPhVCmIw\n5HPQ2fpWAR1rqLE1OubK0PPiERP8HCPZlZQpQeAgcFNY3oAGxzvzhdOIzJg+\nwHUquKlpXK5aVox2IX1F6VY2PnyPPAsCetgBOrDXag4ykNT1+Ll8h6hNoJcH\nsSywRziwaxbQ6vSi+SM2U5y4BgCMisYx9T6lP9N45F+VaR8YKshJnGljD8mw\nx7nHjspPMN2Vg2hWyuVwLoW2FlHqlBWbUvgoYEuIViw+RYrbFl2j63qGmGMr\n7/hf1LTUhTGTa1uCJOtxellNrQOKNqBvnSyZ9BrHQLKvrllh7CcXcP8kaeU7\nFNJp\r\n=O9nw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"82863ef80356cc2782217b79d8d855623467421e","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.1_1543890963040_0.014161795038836633","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"mos-mss","version":"1.0.2","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.2","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"875f21e7a6985ecc09b9ca9b8f82ba8f7bbe2b57","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.2.tgz","fileCount":16,"integrity":"sha512-OaDtUxwcfOJGwxcWdNf0F3FnJ2Vg6Li7HZR2AepoCpuU+HoWISdL3rz0fem/pYF1vizkekymEJ4uW3c1ho8UVw==","signatures":[{"sig":"MEUCIBkn6KSl/cBNTAoWWuNh4QNs5dJsrkNTdnIG2UYHupZ9AiEAlwVOwSsxUuP1Df4kqCznGPRErmncrQUoXXlPU55HA+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcDeJYCRA9TVsSAnZWagAABxsP/08x9C8H+sy5vTMvmgVI\ne2KESzx5G2irTc+10Y7+V7IjFkjKiEjnQgR03EiCtW21+YkyNAFF1J3sJ1WD\nUbZj0Ob4c5AGmcgxVDYC20496jR9HzIDeBR3DofgxefpPvY/La/6DfteBxBV\nBOtBGqbpOCvKSMP8NODqkU8WriZ8oT/GADQkuw1qiboLdmiasRtb/pDfuUj+\nYhwyrIOfEj701J9lAduCfde9xObiZOSFhnudi1/mO7rUhY5p+V0N0E+I9oRm\nt5FlihNsAkgw2hNjxLTmjS//Rf7PQ4GWWRUkmGA8RHw2/VzGIdYAAd3nmaeV\nG9TsmytKzOvb8Uy54iMpQTyNm6C1GLd6s/hFgRYGairht2vkvT5G34hLRsZ1\nxQmpSrBQK4W+a9SN1rOUidwQtxpDiKYWiORuerhCLTyFBrny4DsOpPkjgG0Y\n1YSnW5KKiJ++db0yCg/NT/nn/lLC6zEL5PxO2E0vliq9j7PFF+zqt/WUk4yo\n1Utkw8WyI5d7kMJ7klktcHc3O5TB8oT8yOqdljXQ5VfVw6xxMet8jwmYKSod\n3XiOKIRqq/nzNVUHBKD6jemrOZTPfR7Y5Bd30lcaD/WSCf7FtOxu3WpZc6q3\nxvBzj/1iGEJJ7328heJEViZzpOJZsZrMQ2vDft1JiXmgTdI1VCFYUXQzbK+r\nIrYA\r\n=NXQ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"128f329ffe53217f2cbe1519c25b435440ae6848","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.2_1544413782875_0.1690867243549914","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"mos-mss","version":"1.0.3","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.3","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"ad616f779de6db3a87401784602cc148ff2eddb3","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.3.tgz","fileCount":16,"integrity":"sha512-1tNy1rnNMfTvQHo9tOgxlf6vIft+OCP/6suakC1EvSUn1sOwsSv4Vfk25oOIsBrN3eaeWBa6i+5pXcHgrN7Q4A==","signatures":[{"sig":"MEUCIQCNuwibO9DPzzC/QsIdx1Z8q5VqaZD3rDi7bXtD10/9UQIgCYMinrcFLP+MRF+XChCDGquIG0wftJUEZhjSAXTK1WY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLGdfCRA9TVsSAnZWagAA8woP/3OtOoXrfGR/ZUdfUGWx\nP116oqZRZMr9XXspyb941Vr8wc7GX1ol7qQ5SrlKwcmO4TWn6yIaf/wDh3yr\nnXBPfhCdLppbPShjRyc6D/zITfedMypSSUST+kUrL1VWZ/3LJe691D9R7GYC\nEcQuVU2WCz9urhNpUMDTwrOFGzqQ9vzhTBa7OHUMiIozLzVUiZaRv3f8zong\n7INnDHQSKfyXNA0NE4Q45EqIXKchg2/plbFTiMmWyggzMzGTP1M0cOGLm3DT\nwljRdzwGgahrK4Tpv0Ko6kTkBtRFvbjUcHJbR6mYn3n5qhOKrBj+HCDfnQc3\n3Hff8uKtvHvpb5qibgtYyk5wg64t21EVoAKbsjDoIwCabiWLDAHUuVTJp0Ae\nOgqc/2FOLRBg5M0P20nqQQvmylxqgHj9qmOrA5eaU9q6JuuSa2KeKBEKqmSo\nRcC3z6sMEwBd8WeQWMtoEsRax3NkZLZD39oVRvLUPENEvWTvwzy7Syx1WMTt\nOhuk3Bl5dELUpPVHVK6Ca2iWsf7nGjuCuJwuvS6qil1a6U8MDgy9d0KQz+YW\nK7qvG5PbcIWeWQMietWckhNWxNLDHqf4LIHYN7f9GKNHF1D0Z3W43eYsS7cZ\nq9ETDr24tiF7D3us1OoZeRo7md5Ln3bihnkgZBMy2Uy6u7jxL1aoFycpLqvQ\nWFYO\r\n=5HpX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"128f329ffe53217f2cbe1519c25b435440ae6848","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.3_1546413918216_0.9831712241145625","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"mos-mss","version":"1.0.4","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.4","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"bcce046fd71725f1f732c1a2ed43aeef8d2053d7","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.4.tgz","fileCount":16,"integrity":"sha512-Pf7u/Kx79uo0PymAJbYIIegp4NuhHvxzovu77rtuHhyvr8632dzUvfwWaPcymOJyQLanDSIsADXebBffV7Qy8w==","signatures":[{"sig":"MEUCIEOMXMoCe9rONbNqxGwz0u3HE8LFcjb+69HczqyYIXeDAiEAmpwKRIC8zJsbqo3/NboAUsBRPqOVeXyrnN0isEKmuQY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNBUoCRA9TVsSAnZWagAAsrMP/iKymGSnAW1iC/O2GRCC\nrkXw3pfkCznEV+5vedaTAwBvGZ5TKEvThs7K22R2Q5yoQnpIyTAJfqUL9O3w\nGi13bwg41qZstTYq8ZZkOD6eZ0QQPJkx7+8fFVqBHMImfcAwNYK2vZFinUVl\nY5Nge39xcs2lT/X1YKkT3fkhBLLEnnEkleaRuRm62JifNnNygb2+Mf/2/jCh\nGnbzxExu4N+hm80IZ2HMxoG4NBbKfcxxy5hl4mow1V1GILxmrv+gJdDIGnjc\n1gmXzZCHnQs4PgQrO9BB2tqMzy3fruNo2JTvk1T+s1NeLm38af/MlCBn4Tvw\nwWlUEmi62gsEid9p7/QrG708/Wp3T7DJrkTgb0jjtD+hBq68jxgkzaghS4dj\nhIA1/OMbVgCuZ2aCN615JWbNATfeRZEFJiRFu29wzYDAA6KA/Bl3Qhx98kbE\ntQ0EO7VEgd/slsKUY0Yr9LEfn4cmcKw6MdiIUvP2pp1/Y7WIgrp8wGh+cdkh\n7mXiMcurjL23fKquQtOocxel+U3xMaWfJ5IN6f2Nu6bpL1py86lJ8OQeO0Hw\neEO2JNP12S4wdUYjCBwqIdnlqmOTdqCzy0tgbb+AVZiBwblD2XJn6G4S240u\nddPZwHKWDL93JZ3+lSx5kGBdbxWLlZBsk6oGlTFkS8ykaKqzhqDApJFVAwjP\nTVBw\r\n=xqtX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"3a3784f620a38d3a60f7d66b155854be26068eaf","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.4_1546917159953_0.32676867544130017","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"mos-mss","version":"1.0.5","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.5","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"342e2faf575bade173485101ebd5945116f71308","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.5.tgz","fileCount":18,"integrity":"sha512-UKBH73Fle65r3TZl6qYhz1qPVVZVxykCu32UZQ2bB7n9+0wu7itfqBkZS/1WZ0I4gPfmpJWqBXH24bmVjI2W1A==","signatures":[{"sig":"MEQCIB+x3AJoXhahXrofQvIFzwp6lRAlrHp6ywFDr/0qJE/nAiAjy/ByB4HsukXgBoJz4fnxBhxM8uz9PGCHK0C7lVX4GA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcochcCRA9TVsSAnZWagAAQI0P/3/E0VbCNJvK4ZzZGzvA\nTvAhpjsjdLhZ4Z2Atuusqa9v6MrWanEOFQnIVlG3mGdRL5Bqdi6wWM6DYEQX\ns202sQhQ+5Ho5cVumE22wxO6CqIK8kCeL4cwL9Iyc8YoSpMwmZl18/e+Eze0\n0YpJWFVYo3VUu6EYE84MEF6gVOJxv99pTQbi7vCJF2BIMxsg/bgTxpfO8emf\nqGBMAKUbEbCv+5IQW8BqF7ofnWwtmpMjGygIKyJKv+Gkd/jntlkq+Irj11uJ\ncSu4WHW6hHAeCPpJsHAAaswGDifc6iGudQzURAVKqwZLs1X8Qc9CmJK+AXTt\nGdh9F411NmYNY+//KqBatG1KWjwnK1TfHHh3Trxn5+fIYFAWq2mNI6JAUDXM\nKQeX0pxns2Povm71FgV+Xtavtya1uvd5iwg/Nc3LDqd8NbxWz8zs3sN7ELVc\nZdHnLOY4a+0u6ooXj2I4a+qfTdM6UEnTPzBxBYWABIhrKEusekQuDLXZbEsR\ndc2G46fF0fXnxzFbc8rFY2uTsAIsRv/esoKeLfm442dbuKbyfWtW29tCDstK\nR17N0jkiXKYb57DTjKTZwpT2xJSKeARW2fNZMUWwHeWihAo3nz/k/IOif6Qh\nMMuokpfU8tQASbRBdBMkg94sJpwnzw96AOO2FqD7BBzEHNkv/XddR7KiyHBN\nO2k0\r\n=kDv4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"ea1dd2360de9a8b0d389cd301f7bd6f429c05422","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.5_1554106459554_0.041245229551397644","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"mos-mss","version":"1.0.6","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.6","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"cb5fdf176dc25670542011863f34739458840ab4","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.6.tgz","fileCount":49,"integrity":"sha512-RbVR8mY3uTqWnCUJtGhOJ/UX6lODDPKIHO9+6YwpLoZzD5No7yt5VJGSqxu2icHZqxJM5xsnE1mzByrE4s1W9A==","signatures":[{"sig":"MEUCICqQPdVfmYDCl7sz8JlgQfxeoT8UX8prRKE+8nFzVHF2AiEAjgQ61DbD7lB5DbAUC8570Q+oMI8NKR2HgKoO9rnekeE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9492122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLqV6CRA9TVsSAnZWagAAezoP/i7vfouzO2Sj+/oFzWOk\nunKZvqzuLdJWRYa075BuJAsDa+if6K43rNnCWpQrjDnZDBpRtlUhbuzQ7J22\nQC5jLQ/shm79CXsYsA3ptGSJxBeHsSboDmde+T/e4NeKEMBAxtdvwgbdhx0E\n32P46u7HRmnb/xKplVYwMCQsaJ5clONXNxt/IjoCQP2SAXL6iQiM3YG7vma2\nkyiE6lWim6BMQBAySUxgFnkdRtbE7Wrdow9MQJWL/gIPEqFwvuuomAg+jgr2\nKbl2pV84LcQBDFqDlhdNB6Uy9UfY6zsyH59BXHnoNYTcnH7eTF0LRIdIyOph\n7nai6kRQz5qPYVXNyJJ74BjV5qjtdqE+dhAJJEgbcSFfIhe+dZJMjItwaRmJ\nPnTBOd/MrROJbpD2t5Ksa2/aIR4wfuz2v4q1BB/XxdBmgVvudaZXI4GBiCtW\neXV4amSy4Xa4sbat4WlUmrDnmt0uc6H+nhTQh8YQKic262tI84pRW9FKhs9V\nSKle8ktLTToIDs+in2GMVVBFcSzLPKLa8PDB46w4XWftmyB7B2mJhjSIwO66\nm71aYzfLlGCZ5dBVS616UU2WEvTOP1ov0rVBzZnY82gq57wfVRXhdwdZk5gl\nx1Bcoe13R2Ko+Mnfq3MhfP0dgS9nPbAUdtf0REUPxGywz/CZ4Kx+3crq+Qhc\nmgot\r\n=t4G6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"718a473f41e7e6f47cd4e0c278dcde1a735e1898","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.6_1563338105088_0.8481159510213767","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"mos-mss","version":"1.0.7","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.7","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"792c9d6e5dc19239bd54623c86b6b488bea641da","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.7.tgz","fileCount":57,"integrity":"sha512-9qZ4uzJkARfq6bBXVtez3FoIlFNIbhZRyjlTVsdOEocV3JQk5G5NQBGj4CBFAD/XuecXOGKm1wExKkbaTnpAyQ==","signatures":[{"sig":"MEYCIQD9kCpjPRUi2AFLmO/5F0d0bCAfG5vgaKIRuYijJYPySAIhAOWSVdaMIP3uXEoA9zNj9M6+2NKJ/7N9OtEqCa8SKVK/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":155050456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQnvBCRA9TVsSAnZWagAAWyIQAI4tP7JqeIwyvHz6NuTP\nU7CnEBZVrd8gDBoj94sm/yt8Y9Krjm8XTmc4hDqVG3icMxrj1yCPH9vaB1xo\ncdgwGqMMIAppKf9uS+gAV8qz21ihyr3WE63FApap8C6gZ6Sav8PYgE5j7bQr\n5qbQ9JGoKpYRoDs9oHKmruMhj9dG9Hk4w/ES2j2RzR/ND0vtdKs0lfkxF2sY\n5Tp7wHzmSdYZFDXE3eT26rRZEotHiyX32/N2fX5KRhBZw89P/1U/eSo44bkr\n9gCNIKPcJXlJmuScD9x7EGcjUw+y8ijoW1MHjMa9jK6z+0oD/U/fwojQV4CB\nRZeGCzvgOFwVnpgzKlkcF5Z4WHldv+h5gMBmy/VYr+coSt2Fi2d9V211wFst\ns+Jn5Hvw4+daXEsfjhHuQVQe5f1oqJUZQscNf/yEaJsAuQr75iYZg5KhtGoI\nCCbgg32xKyXxiG0iM+JvDXMO7CHuXONQVO+b4sWxSn1tYwU6LpbCS80FkF9/\nI5f/nT2YqMR2RW9eAqlEnMlico7T+pWDS2ntf2wdXwoZk7t+zMO7lsV9OMcg\nrJfbJQeUiIhxuERh1tJ55n8EwGA6F+BNhZaWDvPg5VEfswkoh+pV62rUBtBW\nSUECz1uq4Kga0BOsjMvtWZNDrlvQQzGxvhdwo9ZoT28zJOsUM3kB8QK920Cc\nDZ/q\r\n=SHBy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"8cbe97e36821b08ecf16903d585c6c59ea2340cf","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.7_1564638143625_0.11117506317693682","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"mos-mss","version":"1.0.8","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.8","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"98ef5bfe1a5110dca406c1da2637a764d596c26e","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.8.tgz","fileCount":56,"integrity":"sha512-MKKORcRD5a2d4ivPshYW/pZmWWmnfC2mhT6E/XWQ6qfeK0Hn4jdAL51Z/k0a8O8pxoFAOGGolxA1HNG8M1GnfQ==","signatures":[{"sig":"MEQCIBLWjAWgf5WKGz6JjyWbgUqs4AbAZtCtLrtf+RbAUYXTAiBgg8EijtLqk9AHG9qvjcNX6VMG7VamLHDV0Z3YDcSHkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18597277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVMlcCRA9TVsSAnZWagAAPyMP/iMPekHWJIC09jEEGtc4\nBfjTWe+EobSivQLqDq6RbIWisq6tMAMHIwrYNRyAlz5unMF9P+hEp05lxaPl\neefBADh1N9nVgeWX+7P9uhJnElcnhJHjY1N3jTlWFu44Ez16rLQQX70Cyzl8\n8+ZAlGrqtRF9V5zw/P+1XQpIVBmnhB75sX5n+JZJB0HBdwQmzGS7/camWozF\nXwzAediQ47Ys+fyl2o2EygaZPpjA1P0pwH43DwqoPDM0rPLuK+9cQUvrZF66\n/Ru0TW73S+xuSDGUbu0A09s/a5I91k+I3cCnT0AoR2bp6D9njdDzGxXEiXh9\nebNVT+4K/598JDlOTSUkohVhuwyXAhFs8otcC1RCLntzIhbnFG0jnweMNKan\nXGV0pem7pOkeaNfNxodWjWr0xDmuIw0G5diN4xn2ejGI87nqGJfJtmKwcFyS\nP8eKtxAr0sN3ErZQIgXhcsOvW2Pxzc//CDUkZ4uBnGSkPpvqJvRmtAxs5qQQ\n68rqlSz0rhVr6BpSCM/tj47U8J4O49Kktao+PLgx/dIJLuyO1Ew0ec0wSnNE\nbUYRxc8UT94gZQKnNX7VG0a8cnUgUKMpTOW0MqUQjXo076VENU92kLSKJbHF\nfMslwAhNOMqQzpD3UMofYJUOhtpmouAYpLrYwy6ULB8p7LjLyF1KP8UNxzJi\npiKi\r\n=CKsK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"0bbf182f2e83b1265ded18a51a890af6c9675ab6","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"10.0.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.8_1565837659470_0.7254774409371461","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"mos-mss","version":"1.0.9","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.0.9","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"336d69fccdd2600c3d6d5e403e864958877c2d5d","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.0.9.tgz","fileCount":53,"integrity":"sha512-YAIHW/qPkrzH1eZIqWk+wn3OQuqCs/v784a+d7qw7r9qsfxb2t5oCtIXscxUb450bJSABMNQF24R+r0SYH7Crg==","signatures":[{"sig":"MEUCIGYwDQ0Nre5otx5XPaWUaLtr5iFjc5tPuFO81k8kGUaGAiEAoJAf4XBn4ArWRT5F+h9CNDYX0++9AUYZf6uTyAuHh8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgiKKCRA9TVsSAnZWagAAYDIQAKKbFVBmVyA8NQ4Xm7jE\nOt2ZQ/MiI8gm1UkEwvhSGr6tvLKrHXqa3harEkgnp2a9OXq2014VSQRBi/2t\nuaiTC9tB9azREZww3U5zn82CiQOP/Bbp4FpxZqvd+/f5bc1AHRB+1a64A8qs\neGK5EKLkQDx5FHzKcW64uPrEQ/gWzf1aILihMAKtdfFrgAjvzAGdg2mOl/9g\nr6T2uzwK++a4OYUXaCp7CluRBDvhIeG+QS+/dbUjgr2GdrkbgUe56HUh3+Kl\niUi0LskFg0bsVS1DTvDfwbZycZDPa0MpjSY/f5SCPYWm5eQHN6F3j+Q6lr6m\nUocD3+XMVXNDDlo1SH0ocrzOH6O1nicSbBNQI0PqLv7aewYYVEUxfefP1mMa\nHE02DyH5h8ICevwVdUUVboX9Gz9pHCXc2exLJwk/xUVbMri0Gq+rtbT0HeYZ\nlTWU/mUBsD/njdhw2CL5YOcTBNS4Xe5fSaHIohTwPgqKoSMR8Y27RB0SHjE+\nRgXoRGuhBaueBxP6hvhV++WmbAjjfxhc1S54ZggtifOmXki0z0E7y5jXq1g1\njqNpExKUS0mky5AkKcN+Ewtk22DGkOVkbLtEJeO/zLcJ20uM2k4qdejNiLCU\nMGr9tS8DZQAfJUOYroXrZcpq3GeJ5ptu8/s885UKmRMKire+uOLGI+s2yh7H\ntlIl\r\n=n1mC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"d2a9dcfd87e75763630ba434eb3c1c9e027e706f","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"upup","email":"1092674723@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.10.2","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"12.8.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.0.9_1568809609661_0.6614111029925347","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"mos-mss","version":"1.1.0","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.0","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"ab99589f558834b5edbac6d79afc37b8367aa329","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.0.tgz","fileCount":52,"integrity":"sha512-pfvsiWOR4Aj/ME8bpdr+kCmTyPoc8+sfgMGchoxyviqwup1ZD/MTlx4Q5gppIZDCcY5nRy1hp0dagD97+TAMmA==","signatures":[{"sig":"MEUCIE1xd+GeB51JR00OtODN79qY514TXCjAjQXDZuTSjh/7AiEAhjRACdX27TzFnIPPLX85KiLsiMcU25GGsxygOkZvNI4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdifxZCRA9TVsSAnZWagAAMDUP/iugS5RNIJGEmN4QQW4Z\nOh+ycALQVdLxs7XhCpIaZ6NjA5Tj8ODbU+xzZwoL0yhNHhoWxPnKxKhnX6mW\nvUrnbcwCV002Vx7AMQGG4a1uF4tN2qxFnzWdb/rnKLsCxyIS84M++q6GrwCv\ntD+7aNDCyRa2ayn1YBX1zAAFqtAnjFueADkUiPwZj5VF6ss0q7Bq69sRCw5a\n+xTaX4ENQ6GO9JT9BVr6lLrPAF64ogfi461G+zltr+L/A+6Dw3ePhvnhT2Jx\nQWqHj6UtO1wznV8SVKPgxORLv42X9DXdO8NFGi9AU0NIJSLWdWEEyM0VzxHD\n8QAbuNG4jFEjprQluiEi0gZUoScVyA6EYgqDcfL6VbyAFZZpfBB2y5mh1NdW\nAyXrQtKxn7WGbbJm4wAi0q1mkaoyKZqSN2ScF0k80hLM/4RfRT4jeKvsL0US\nOlgWBCtdPj7lMp9PcekhGCOLOSEEiQYfwU+93pHwRd/aFT+J5oiyALEjP/7J\ntcKtOj1lemxYqM+DK1LNLn0ZHO6PkrLNQbknEwwOpicHOGAwIjMctx1Sr+pm\ns2qq1/kCzNu0wbsIADU3TNkNaBkPZMdGGSpOtaSiQZN+nb2r4XGv6BDmSiH/\neQdOOQjnt6kncNRJpEQDDnWgOrN66gh2VDa78UnSTqrneSZ0XCU7QMycbwGw\nearE\r\n=fg81\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"fa34f5745022d378ba8b2bd3ad401e661d978dec","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"xiaokunyu","email":"354007448@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.11.1","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.0_1569324120283_0.8650565996891624","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"mos-mss","version":"1.1.1","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.1","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"835f3293f52465d386863af5ce12e50589bb35e1","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.1.tgz","fileCount":52,"integrity":"sha512-qxNbohjj09ylB8QTGKQp82SCctPRRgvO2y5hfEzr77xMrHfmnuM4GsVATVh4T7MmMND++b/1Jx0hjfWBKZDRUw==","signatures":[{"sig":"MEYCIQCj7dMdwoYZmyoikXWA25DxIcXINCFx/7YDvWeSQp4MOwIhAI8lSXm8T0q1B0qCdnyal5qGzmJd6KVicWeqZzrQPFTL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqTM2CRA9TVsSAnZWagAAfQwP/2Ixt/hg2w2RYRSy4BQ8\nJJaiv0x71M4VuN411Y67iMdXJz4uMBwXI867LjMbuXbFa1hLn5nbLJgb19bf\nPP0jPGmjodEz6y8sjfR6GiD1UX0INCk/eeZsShjCEMNb193Fs7Am/PyY6/6s\n/R0I8wSGw+scfxVd4nt3fKJ6N+53FXmio7ilmdc4iR0R1dmbh6KdREfMNXzU\ncia4oDzuht0n/CWXbzwBYX0iQWSn1yTJzDiModtzpagZG05DBZctNMvMjxyu\nz9Xdi+ZzG+2r3COs6ppqEdb1WmQGeIW2HIbiTL893mKvjgUnKMHEUvgYcPIF\n4vZfLyonEQJ70eVEB4/0z/48/n1BdXZABZlL3h5Uy3hjPO3RAm7VWbBxM1yT\nUye9UhIO0/h1O7d62VT511lcb2Qsf5TXR1IJjqnbEnD8f8w0eLsK/aaZWnMk\nP7R01eL0S6O29eED9DpZM703sYPjURV58vPQGtgsXUIWuE5qmfbOs+AL4eOc\nBER8UO+qvX2qL2RGV5n/f4FgPOVB8KPuX4gSHchpwHofrFHKAOwV7PEUj7ro\nhtm+BUi7FX2+hYJSEztlBHmpjm+HovlA4LIBjp95kw79J5sdTiZhqhzBH+39\ncxXDR24nk/HbhP559CD4o9CW+t5gBYKdpQaKHNCryu+/NmhWUCLIjbzYeH/8\na4ea\r\n=9Wdw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"eeb3f6df421bd49dd858b1f5845483a354b27cdb","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"xiaokunyu","email":"354007448@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.11.1","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.1_1571369781452_0.9559587080416059","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"mos-mss","version":"1.1.2","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.2","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"cc67947d9e2bc87c1c6d53ee2269088d7125e22e","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.2.tgz","fileCount":52,"integrity":"sha512-fzg+qCJZSUEDpfhM4gcmXx55kVFiyIkIqF6STY3TtB6ll003z5jbeB46geHBRpegNRjeYi834nFk9QlsvL8/Ew==","signatures":[{"sig":"MEQCIA40tc0OFfNxDUN2uDn+ohEqvWWI0MidtXgOq2L+u7jrAiA3/eZOdPHx4dSshF/iCWKIM0xYGhQ1RXZnZpKpTZXZSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+KRcCRA9TVsSAnZWagAA6EwP/AslMe3xuBLcm0TKpT35\nMY5jGMDm3TMFLXV4L6U68CBj7yqUV7xC/NeiS2+7YpKiWXLmek4MCuesc2ba\nExrr8Dk6TXH5owYq5myg3XmWcn4CR7kaBXyVUcp3SVioA9p19yrOeR8PjDA8\nzoBd3NxQBhj3h3dUpCwe2s8eXd4n8mMEMGh8iLMimtRvQW0w8XA2XJVXkoXO\nXupJnC2yneDovJthAaEML9IhwBgwsVkXuJJnBSzDr/wf0L6a7Wk4TjdhoNJJ\n0HcMXJBHQXOtxZIgqPUYpLTFh730PMcao1jEyvEHtPETP929gINk4w0dRyoI\n1/zInX1xTN9Uh+toLjej93XBxxbf2s33sfg73//2J5HYhB04Ua5WlvE5NiZ7\nbkLUgt85A9RUbXfxdtgr9riu7CLIpKbvOJpU4P6ETidG3pVjhbqp690+in+V\nMrOozXmJDLTkQKEv5D09crJNpS59cD3zuirtfBVr7zAAinK8vHyzjqYAlXoo\n2oEldmB6JQkGw6QscYFnsGJwoN5gNBvHkH129n2s2gbuhg0uL7vnsHUiGs/R\nIw2SfQAXX15dReKJcCW/jO3DsmyyOqa5bxSp/JWDexeUpqpZa0qdA9dxO7D8\nGa4GD9ayFFsXfLfgoPYK9KV6nX8LfqLySPdCpilVACF3UOmm4m9/SvadRnHI\nUfsW\r\n=ry83\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"b3e1378e48a7fb6db8dfd4c8f7da7a4e9b09605b","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"xiaokunyu","email":"354007448@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.11.1","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.2_1576576091682_0.4979883633531481","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"mos-mss","version":"1.1.3","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.3","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"d19e685c92d5bf8d59cc27a998b015a41ddf2dec","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.3.tgz","fileCount":52,"integrity":"sha512-R+cW/jg76SCLqVJ4RvO8ZUz5GmTKxvk2giQ48vo+jch8UvX8nmamIozopNkX9IJ93lmdQdtsZb/swK9tEjI6uw==","signatures":[{"sig":"MEUCIQD8Qk/JRNtxlDhlJi7IaQCUKdqkHiIlVt/u6oey1bEVyAIgdnkguEW1WPpUmctFSFheDLVuVN9P70174Jof5E9mCpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFYLQCRA9TVsSAnZWagAA+H4P/iqS4i5QRTAfeAExVu1V\nuiA11av8Om5YR01WTIxLPjQOYj6KCjq/jE5cl6PyXzMKtRkCjO82Or0vAS5i\nUCtNtsQ2wBXOlK4SNGLCSuoY5kIA1PiaJfuyndVB7DCMgNIeL8wV77SC/mOy\nhIAoggAW/a8TOO9QtnwaAWkGTbkpXCZQwba427aUxwyPZkxXNizZcVm9oC4v\n3NBWMn7LLV6JLkiPkngfe98U3nwCpX+6I82Gu4q1ucHxx3MJeUCs5LNxLxGG\nsTtcsF7xJl20QGrY8wJEQ50RJCK9Wvcf758zLDLCeSjisJ3wZbss+ki7/KnO\nZuEHo0dphnAhWOSJ224mvvfrkWUwlSuC0aHqT/sP9fP31LkjHY55lUWBc9SF\nUOkwCThpRmu+pv5Baw5E2x+J+M4TSjxsCQFuvduNhQUw11cyKKf6hr089+kY\nYBpPSR9T0smQhIt2b+1ZZeSDeS0MSNlYdZjc/oQcSXZQDU5j3kFOSZNHdHxq\np3qQ5PXnwnZApGBjHFrwfS6LDBJYDvHPhI1v1kPMZ8/KsC6y4ViZWjWbcrWI\na9dOWieGdYI/KQtb+OoCErrT1KUdGYZNAXHhO5u4dYZy6j35yN7WQ43fuCpx\nJmLxaCyWAtR9HuAUm+098SlQaK7PpmqpD1rnDOIGDFQyol873UXtL9lcFKme\n9BRJ\r\n=ly1z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"55aa248d3ebcc28b3f368401e571ae43d818287f","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"xiaokunyu","email":"354007448@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.11.1","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.3_1578468048294_0.6876574006619474","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"mos-mss","version":"1.1.4","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.4","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"92320959108f45fb88a2756832717d210d25a922","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.4.tgz","fileCount":52,"integrity":"sha512-o10vtIJh9zHcwtrsCHYe+sCtOw37S/0C3iQmAbjjmcrCBWymY6MbUsnaQgMPlof0nFxLi4cXu7WDhClccmXRng==","signatures":[{"sig":"MEYCIQCa0Jw6fF6juCSqX4irXx6bG1hCKu5BZbo7/SzJJpT3CQIhAIO52QXBqjYDZLc1YbRPUWE+obxuOuxirp8dbb/tUFJA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRQ3LCRA9TVsSAnZWagAAlzAP/im9raQwS/RBxPPk/TfV\nJmE6oH2ztXvmlzxzYs+dgqi1yZHNCgrkuyIiuUZhmOc94H2pEb0VFeTCOe9Z\nJWa2+8pKzX13riGd/5M2yrAnw1BEaFKkIR27dYLbu5xkR4hg+5WC1YOKICEf\nwD4+09nQpq6fplqsxEVjJ+V7A6iz9bd83q0dOT8GfsAqCMcilrVZ+53IG8cj\nUumtIwV5F2U4ojwPIrY0YAhaTI+BIqLFbUne960A0ZVEqGmfFye8jEd6H3Tu\no1Ev/BfPvxv+g5mjju7QfgEpNRDBOFUKeRmAn4yjqo/Qkz1q8AMnYS/3pMV3\nAMGUrQdnjb0ij6bASf6NjVKjuU2Tr3RQ5bM18mq28fwkT5FmjWmUSZ4i4obg\n4Md05AkYguR6rsaSpxErLroxgZcFKabYdA2W9yQ/c3Kd28OD8ye60O/AGzSX\nlT2FP75sv0h5HfXPc7qbUScMULQtImhgDM0bx3OzYL7MdS3b1L94dpNV0HIW\nha0wDkSVB8LHpZgVweKp0ikRCY4bMFXOdJ1dHZ8JsWJxPw3NryxwsJ4OXhVX\nH6u2SyhrEetJh2vxB0nKd2N0AFa9GB91d3brmWbuSyXHT/d3OTKw5eF5I5hB\nHseIO4GpmhZXMF9+WQkrTtBJwL0uboLSNbk67cHQ3JerwEe5g08qqie+6Sca\nc0p0\r\n=sbmk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"2c2f79cfec5b5c0e423b6f0b9cd7e4d6a3d01b77","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"xiaokunyu","email":"354007448@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"5.6.0","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.11.1","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.4_1581583818838_0.5997463002134678","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"mos-mss","version":"1.1.5","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.5","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"7670b68f9371271bafb500810c0c927d4ceeaa32","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.5.tgz","fileCount":47,"integrity":"sha512-Foa7NLrfy2bJuWIP4EMoQO2hkchfZNwkvqgaMPyjaF30zt4q18KnMoa/vkgg7/ME9c7japhr38pQjWXg5Xce5Q==","signatures":[{"sig":"MEUCIGfHE+en9EyYLr9FF8CIKp7AqaHyq/JIyl/CsOzu9rJmAiEAoacYDFdA2VKz7HPtHngz653PKhCYRvQYkm5T2nni8iw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":153835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3vYFCRA9TVsSAnZWagAAsikP/ia1Gj0/rNDmhXcfkIYg\ny5r7yIWxl/viWpOsY/mTWDcriJcedNjQOlS1zYro3L760Fu7KqLH4Y3j/R57\nUoMNkPKFiHW89nHD99pQfZX6JHSyH6U1e4d9o8GsBcgvH3UG8KFiVjIyFMdj\nwB6J60UR/61b8mQEVRUHHvqBds6BQBrExGhjh5CUKyLpI0VA07FBd9plF7Hj\nWHRSeKWesTxZoVrJfEQnTVFZDYhohvqQqJIGVGigpD+jeCikTRWWinIvP16m\n+lhDlHbNVU2EQqGamokimSOfyI70ffWS80gRmy42cJFQy/EFR0zDyFHN8BLt\n89u3Tiekqg9CnZ43/ESN5sndQSRwI+DNOhmSgVoWlMZmo5zl6kSfmNphNSBi\nMVzk3kH2ewnW8s6bT0txafC42+eCOMlcJwro/lpwUBJJsmLzCYHydZOpOV4w\nkq2Ia6eZkrGtJPMyC74tlV+8nfrh0rF1gc+ki43/dDADCbOgoZWu9Y9H5ran\nJWrclCZl2CqY/JfcQjIXcJFo6P04XVLT7lYCT1Y0Yzz9weBK6MFcPbO/3VeO\nZ6WcU33VnfdZHWxugH+8hxMT4asKyPYUXXkZDiSWJnF3+INrHfQUxmDBjZTq\nb+CZaiytNdRBsLg+c+I3OU16dMPzIZpWrvtiPtoSFSAEcunWsZO93APXnMT9\nEi8D\r\n=xbP5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"5cf28d7433da13eb49665e63e08a527feb10910c","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.12.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"12.13.1","dependencies":{"url":"^0.11.0","mime":"^2.0.3","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.5_1591670277038_0.932617959470257","host":"s3://npm-registry-packages"}},"1.1.6-beta.0":{"name":"mos-mss","version":"1.1.6-beta.0","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.6-beta.0","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"4738928a5fbb4e14f49bd97c67c5ccad6086597d","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.6-beta.0.tgz","fileCount":47,"integrity":"sha512-MbW/KSyzF4Po+hoaUoJSfHRpLmrBaxf2w7HB0tzzewU9H3XAaxMrthfQeYavk7++GbvXR9L3cDilyO65KBBZmA==","signatures":[{"sig":"MEUCIBDI1101MKebZnXLImKc1l1cD8g/tpz1SO778scgYCO2AiEA77S8SKdDm3XxvIH138wVlYLWPBJq37f9lrCE6umGSMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/x5yCRA9TVsSAnZWagAAJwsP/1K4ot6PgyJ9g0wlKZeE\nNBj2KgRJEoTH3NJThY/+b8WTiVV/3qrZ2banz+1j+u+E7Dr+aVgb+7zYyQkK\nkHiuVL5ekd4hMSTllE8TbQ/7Jpzb2Ge3bYizwhicu/gojWOxFTFhjfiANlOR\nosFPP6RdevopbxkZdvMmzKGbqvDsRTI9+s7roypl2onSE1kploNK3+waO6hN\nO4WyPNaR03NMMJEYvuylq04qp7F1uTxfqRfkgvF2zZEdYV9pXmi1OE9rsPks\nkBtFsYJjlKBZf3oJqQ2jFDpudcjFuChbf1hznAhIdZJYDM5914eKbyRyAaUz\n0y5mjBhO9ZXt5m8kt8Vgy1swlDwO2B0c328edVmyck8bPUTxGIzaW8g6xJJx\nSkvSVc9epiUjFjXWa4DR/czqlwKZSdfXoyiOpLjochbGu/Tjpg89iEhDtYWd\nh6W5OSGm/7Qc4Lv6dAeKegbs9XAqyv/cy89OfELB6078uVLe9DzghMQ4ArIT\nmIhPYiGqG/krRU1KnLT27Lau4o6GxQm2Q4gL91jzb3MohUOECidJmsFVdN1G\nK5Od+FgsKBuyxh2fCmZBAaRH4sFK/vXgMaf5hDMmb5Z1f4wMU6Tm1eOfzt6s\nYpvcGsjPUiQCSrXoRbxHpgwfX2T6dQziW3EaCjwkJIoTKx4kCNNeZBDRxqfE\n5LgV\r\n=FSnO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 负责人\nzhaona12\n\n## MWS SDK 管理运营平台链接\nhttps://simi.sankuai.com/detail/55\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'));\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n    * */\nlet params = req.body \nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKey,secretKey,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n### 2.6.3\n赵娜（zhaona12@meituan.com）更新时间： 2020 年 7 月 2 日\n#### feature\n- 修改文档说明\n","gitHead":"c74c3ff62439b4488158837bc9c01d6695298a77","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.6-beta.0_1593777777977_0.868108713698325","host":"s3://npm-registry-packages"}},"1.1.6-beta.2":{"name":"mos-mss","version":"1.1.6-beta.2","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.6-beta.2","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"0b156b745a9d6c4171451b55c2adcc3d2809ca5f","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.6-beta.2.tgz","fileCount":47,"integrity":"sha512-QrXP+Q+S1qHU22wzXE2hh7Uo1h1wVAhhxX1wXL/SXrGINHikQ1iTrg7ZL60xLEO9C458BW+Dg9aFlJVx7Zxq8w==","signatures":[{"sig":"MEYCIQCDEuCMxRmUmSIJquogxt40WwpfJN0UyIBgDUIy1jXh3AIhAPB8+eiWehU/IgzTDrk6fb4tMsutB0EqIOkZzE5nHx2x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/x+QCRA9TVsSAnZWagAAingP/Rm2vR6Tvlm7ulNC5eG+\nJJFYj9H38isLCg72VCNXS5O2Mm8VDZ3O3a+87TATSx5a/oRflAzwEaV0oF2g\nR8S7eyDeBElnQ95G/hkCW5EZe5wVkBU20piC0xk/80IGZypgg4OPLq3Y+BYl\ndeUTg/2oVCNMGUS9n/hYmRIOXKbJ4FDPVcXtgZxWCiwEDN6ZU6PWbzdskFB9\naBObeLcXV/3MmnErKLGsNx1+Efc7CwQ6pcwx0s/6LooDVWw7qa5u0c+1nkWx\nNWZy9Qx+yS6WfnBxWSxp6VfpJJvnRkRhfFRwX5dBPJWvxGlkkevyFrqEVNEs\nE6kgFc2nDjHOZVB5JeERETF911PkblVEKtWaU1AtYQ5ojs1X1+b+vmF6Lg/M\nrUp7JQUz1a70JJIEfYyuTp/c5+9eborY226aQC0jNUSLtlpcQLXJHdik39S3\nGD+Ub+ZfGHIHTm1BSvLLRD1dq2CXoVBYUui1B2dJQ3Fibh6F58LT2cWWUx1c\nSYoQw/C1VPzKMAwiYQxztFU4rRpUDZMM4r/YA2MqQsRb3GRFLSenoIbUaoC+\n11EOx40iope3jqqx71tT3u7/L9P8S5yGRZnNSOxwwsuNQ5ko00VhtXGZpV29\nFt2NLpK8lQsSN8XXWdb8xS+6Sdb2TshtqYCPy/zg0+DgTD+kB03tryDChFj+\n0vml\r\n=vA5Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 负责人\nzhaona12\n\n## MWS SDK 管理运营平台链接\nhttps://simi.sankuai.com/detail/55\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'));\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n    * */\nlet params = req.body \nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKey,secretKey,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n### 2.6.3\n赵娜（zhaona12@meituan.com）更新时间： 2020 年 7 月 2 日\n#### feature\n- 修改文档说明\n","gitHead":"c74c3ff62439b4488158837bc9c01d6695298a77","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.6-beta.2_1593778063952_0.5826176465709427","host":"s3://npm-registry-packages"}},"1.1.6-beta.1":{"name":"mos-mss","version":"1.1.6-beta.1","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.6-beta.1","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"64c77175eab07e4b75a049383d796e2d16cde0ea","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.6-beta.1.tgz","fileCount":47,"integrity":"sha512-rO5+dlrZ3Ew/tsjhJ/klBOaOxQ7/y7mdMf+TUOoFbAY3tAunfQsAoL/hoLP8JCWSqB/9C1Ki9hRue8J1DQPTHg==","signatures":[{"sig":"MEYCIQCElmf2G5KAvXsHB9JRIX+uzgQ/KNm69uCTwGKlcC+7aQIhAIZfuuQ5RbzvaIWsnY9TEBEuzKkhi/tPbNNfg6QibGRo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBCXrCRA9TVsSAnZWagAATVMQAJHPDZ3kK2dr+hc9wDd4\nJpOQFWd50uOsCL8E40vV7WzvLCKd1LX8u4zSXtJ870UD4bJrIwlRdzn2mbbK\n/oA2WWzwCFZTbYHnHYXkdDyWkNKCeGb09OCqSnHO7t3rodBwRqRWPxCxA+Si\nDa2Q7IxsgV+ACxUux6W1TI6SDOW11kekKXu7c9KYIq6hG2i0VgId5jZzrQrR\niWY9M7rqAwvBmhJZmdfY83gsLPzYCY3Ezu38kIc0pb7Tw57pfXd9j6WitI7y\n5oN12XjNBBxwbmiWdZH6UuU7VMCfn42+vIBNg9B6X3KHYSpMGEM4L8px0OHF\nJPrU6cptUCZIif8kdCbwIJJ699ooqri8Biq8lv6zHCTA+jGBDRx+h6WoxJyC\nijWIBOAW+nEhp6VpDSLK1OyM8eqpwarOGcZRasMPiBoqP5RhU3F/RNi9fUZ7\ndk8PAJBOfrPj7clNhUtPrSrpNdWRcKILxqw4MsjCOjMeTbB/gJ2Za+m2rOF2\nWpbIhJGHA9BOZQUlQCM71qQRENgtSDg4jWgix57QAO2E+OVPypFvtj7aXV7B\nFrrZApYdPDSXxHCmAfCX4vhhRU+HyY1/QlU9Df8PyIwfPlN4BwMEfS1fni4W\n0ZdxWBa5M9yzsJabpHJNzA/SN4kILBUUvsWf+uL0RgclHY9oxeuXdL1OFKIq\nE84X\r\n=7ZhM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 负责人\nzhaona12\n\n## MWS SDK 管理运营平台链接\nhttps://simi.sankuai.com/detail/55\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'));\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n* */\nlet params = req.body\nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKeyId,accessKeySecret,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n### 1.1.6-beta.1\n添加文件上传加签方法。\nzhaona12 更新时间： 2020 年 7 月 7 日\n### 1.1.6-beta.0\nzhaona12 更新时间： 2020 年 7 月 3 日\n#### feature\n- 修改文档说明\n","gitHead":"d70866a65d9740265446cc10733ccfded26a668b","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.6-beta.1_1594107371051_0.48065106113663925","host":"s3://npm-registry-packages"}},"1.1.6-beta.3":{"name":"mos-mss","version":"1.1.6-beta.3","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.6-beta.3","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"cf1c18d74f9b3efe9355f113b2d92cfbe76f18ba","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.6-beta.3.tgz","fileCount":47,"integrity":"sha512-usr0pRs/shyvOc39jrpk76OEVfL3fEBHX1FIhdiMghPazmdQWMN5qjjwLWBtvpMdzYlch/hBbrWYKOgy+eQlAw==","signatures":[{"sig":"MEYCIQCqhijGlQ/mV4szvuzb0LmUnl9sjq/MBa2+m2x1qZYvVQIhAIJO2nSRqZNS/B3MM/88XVFEicmIqUZWi39R6luyyw2y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBDb5CRA9TVsSAnZWagAAnwEP/jh1LRzZgR8AgzkG35CU\nzRpUUWSi3xdHcRQ5a7fN8SmF7VDq/pMLuRUWUFvMyy93f0nm+bHaiFlYidnq\nF2XlEGHxkWf5Tls7vJSufWTj5KLWU4WPWY0jEolUhtFgxf0A5UQ1bAay7k3A\nPckkMoMqD291IoAC95sa3vdO4UZNa//9IF9IV/ylvrIdRyOVaV+ODVUj1PKK\nnpxoLGBl9pMprYdFmlKXRi7qoiewAdxr9ZZNDfLoIMB0b/3s0JpvFeoB4uDm\n9wpVmZd/DdTo7OFt4tdx0N+Tidt8yckB59nFs9lhf4DX/p9VtYp7QtX3Yo5m\ntKlyC2mmHgfljch33T4yx456qfPxh57EcMkdUtixuSzunjgU0m4/3/mCVwZH\nnc9Solp/zHJshj64AORblIdIIEjIOq3tfZgEQBggDxtSleyWbZ0KLwGYxVKR\n5Qnz+NbaB05RQ9mbd328XleW8tlLJM3PGsKYWsuAcVRX4vo2pzVmWdadispO\ncSynDlDSC4jD0OZDKbnI5tJ1iQEybQo/z/lSx/TLPypAs6DHOszYUs76Uqsu\noJ3SycoyEIrc1JP5VJnkvVYtMSDxdmnH8vBNQsbnYnm/doSj2BNl8UOEZ2Pf\nWtzvlPo8KDzm5pbHdMhQHk30ut/hHZTFPPbSX4E0T/FqRv4V2q6ypLH3LM8e\nhrHr\r\n=grWd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 负责人\nzhaona12\n\n## MWS SDK 管理运营平台链接\nhttps://simi.sankuai.com/detail/55\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'));\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n* */\nlet params = req.body\nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKeyId,accessKeySecret,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n### 1.1.6-beta.1\n添加文件上传加签方法。\nzhaona12 更新时间： 2020 年 7 月 7 日\n### 1.1.6-beta.0\nzhaona12 更新时间： 2020 年 7 月 3 日\n#### feature\n- 修改文档说明\n","gitHead":"d70866a65d9740265446cc10733ccfded26a668b","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.6-beta.3_1594111736905_0.9343227707758592","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"mos-mss","version":"1.1.6","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.6","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"6366252a2e3a1178fcc6b6a87afd2d66d2dc9876","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.6.tgz","fileCount":47,"integrity":"sha512-oSifKuYOJ+UlEJ0HvpeVrkin9Fp/gzRGNKC1v4oveSClFqt0PjCDZW2I0CbxYxDa4yn3jqerlOusuKZ7OyWSMg==","signatures":[{"sig":"MEQCIFvadtSCJtGuZOx6Ykc2gk0ePnBDrEzC0e3iMh9WTdtwAiAE19Rrkrcsl2gHeIav0/noTjIVu9Z5ZB96WMQHkGKTPw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBbG5CRA9TVsSAnZWagAAFQIP/01/X7JBILjxs9jYpijl\nSruK+XW0KPzupc3OgjyFulOPazDT1hyTsEX3a+JGUCgn1+wndqWfCV2EilxV\n30g+Hc8UG5y7I42D92QP0Uu8gbOoGP3peEOaOQScxeB13normB1JdIwUiK+a\n5XVYp8x+qv2fiuaERJ8xc5qisVfhDa3XxzDCQoh+KDHBUkwkq8Mqd48P+VJW\n2B92KdDv+BLRQPYYPccANd9PvRm8wOnMnzwFPFUSujUNKFVdeKb6YTHUj5KH\ndX+k/R50cV5pvAWE69U6zBXHw8st5VqhF8bLUSkFT7e3LCVupXZtDRc9cziw\nEy7QIRSN8weBTT0p/7+qnvOZJLKc0z5NXSQCddMWk3dSUhz+FQs/FyPlvFZl\njVdsu5Nm/SE3gcMt3Eb5+TydgptMfU9vwP22OG+5HXvqMMmnWOlBu2x3yElR\n46kneCjcWIfLFzpo+MuR6Oh2WT/LmnBy+LIDOb1OdYaX4UMBFSo9SeITwiyH\nooj0X6xdaSVfes5A/HG2egym1pKwheH1r46TPx0n5240EzHqniB5yFxv0xqi\n+az2SlhOl5w8Ii/+QaaprrmAjGCjn1qK/cYpJSJToGDKCZ/2zuPANsGKX5Jf\nkYeGozzjCtyj0nbryP93ONl2WMJ812H3UmyPQGEeHXqkbcj8gWul8kJikRLP\nsfpg\r\n=Pk/p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"d70866a65d9740265446cc10733ccfded26a668b","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.6_1594208696403_0.6488260141506217","host":"s3://npm-registry-packages"}},"1.1.7-beta.1":{"name":"mos-mss","version":"1.1.7-beta.1","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.7-beta.1","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"3f8dc9a782b6e9d6c4e9bcf73d0c800a92db2734","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.7-beta.1.tgz","fileCount":47,"integrity":"sha512-m3w6kO65uQ42YdZStzsVfPOtP/ux3TnHLvknN8MHCpzGKmEx47hWBRVqJuMUkfXdH44mgTvINd2mKAYAa3YmbQ==","signatures":[{"sig":"MEUCIFlCnsFVjEduFaww9RusYNkZR+WUqUX5t53zWgXImaQRAiEAqreYOvH4XZ+xa2K03z6RJ5dEASsQ6ZB7FLh1bEsNfDM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDSCiCRA9TVsSAnZWagAA5e0P/0esrNw/H/Nt0JzHaTe6\nilb1j2+fIQQpoU0tKG4DQgh6IDkNcK0NDujH0cxD8/CJxa3O/Z9O0mbGAmlr\nr2AVzvgmiG6f58V2uW+qjkMDeHR026GtyTIiCY3xMTHVgdRfxvrT5XYv7Exy\nJ2vHeVB7Q/d7wQIJvuasxOBLGHhjGwjNRy3lUuSiKiDx0Ga+XdLHaU1hSJaD\nYX/ms/MTrQohKWEeY5DyWpX3cuHNDIQHMYo7TO2hMLbHUyuF8bRCqNiLeCfK\npDuhFceXLrZGG2Jz5YMOb1LOBpPqIhPrgxtFj+o+D8HqRWjwzEdkdtvjufvm\nbos4AYHEyA8ufQE07VaIl6U9m0grOXC3gHhzrJO/RxKkBnNoHZLh+FOW6cVd\n86btfxSvAA4R5S05d3TMjHa67VFZTbT0R6zzNQ+giFFpeXTXg0frca6fKROz\npET/l/cWDTw2dCgbzQLWujFMmuzRRXZ2z6Rdpt6a0Ovbtk0uS5ePIRTK6W9Y\nSK6s7YWi3pZ8T1Asc6th5sv+5aMUaFx2wFOOqw1Z2GZkzkGPovNOXFW+Z25U\ngw1Ni19BeuP4FBAugySwoaPTZT0v1OBU+NEoWYtUF55jjid4gWZzWeFgGLOy\nltKTTamMJRhMtrOOV6tXuIZe8IICVaQVXGoOXGyW6Hm3kicIJJOD70I1dnIV\nWa6b\r\n=Yu0t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 负责人\nzhaona12\n\n## MWS SDK 管理运营平台链接\nhttps://simi.sankuai.com/detail/55\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'));\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n* */\nlet params = req.body\nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKeyId,accessKeySecret,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n### 1.1.7-beta.1\n修复bug。\nzhaona12 更新时间： 2020 年 7 月 14 日\n### 1.1.6\n添加文件上传加签方法。\nzhaona12 更新时间： 2020 年 7 月 10 日\n### 1.1.6-beta.1\n添加文件上传加签方法。\nzhaona12 更新时间： 2020 年 7 月 7 日\n### 1.1.6-beta.0\nzhaona12 更新时间： 2020 年 7 月 3 日\n#### feature\n- 修改文档说明\n","gitHead":"1cb0c8a88e28b911ccbf7aba73acf925e38c1f6c","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.7-beta.1_1594695842281_0.11380658089109685","host":"s3://npm-registry-packages"}},"1.1.7-beta.2":{"name":"mos-mss","version":"1.1.7-beta.2","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.7-beta.2","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"5e28d36f5153d2b16714788cf40008e685faa23f","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.7-beta.2.tgz","fileCount":47,"integrity":"sha512-cbTmHuWuxAqSTWTvfvh8zjnKZEj0vLnXWKyzZPUJrAGFKMuxBOjCu4XPAuB1nIVE1ymPOufh1h2g6ZYLJS/1tA==","signatures":[{"sig":"MEYCIQCpt8JlPqWT2+if3AcjUvNXrW7/6KtBykE3mGQUd9kMngIhAM5mDwcacIzFRdzSEZk5KMcInd/tCJBNehHSfM7QQpOX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDShPCRA9TVsSAnZWagAAr5UP/1wPG2kBnPmIWCC9BXus\nRTmk6ak0pG2GKd62/Z0gwQ6yXdRtp0vG9dZaNWE48zQqK8gtA6tVSgwdVPkA\ns1IJaoBfYIMN8020GirMZyGKV26obmQOgURaK2/PpjdLmlEQs1Ol6DVPbLCv\npkILMjBnpxaLxZdi4bUp8fxa6kX7muqXBknVSYRIdCMnK02SvugsTu9RVKc9\nwDhQI8E+7DZwb0/0Vg7VomP/OvmnBfIajZezfcZXPCZ2JtLV+brnhzYwkIKb\nCaNI0O1/BAG/sNp9g5f3bPPpkRjombtRWRR7QyvC7wUCxEQtP1vn0JVopEZN\nJ7OPbSiyJmsXrLXQPS1TX/Gvhs/axGf+6bcRcs+1NdqiRrRuQTpxEbxR0FW9\nxXCDPSiM2puO8TUqXt4xwyQZ6Ey9NoU1488kFv+nXqC6VAOI1hbMUkIk+iRV\nR/Sl5J6FZ+u++QzWj1BkwX6w4GOG3/fKBQ1Kn6iF5p+LrCHeQrlSywabtWY4\n2+1nB3aCWgR+huHCcLfRIb2/FspdZAba5IfGOzpdUDuZzU0kQcIIcTxvOKn2\nBJXrB9SXXOvlk55lpQQ3Rh51WnLLMLzF9KawWMM980qOyrU2MQS71OCqeO+8\nHRpt/+TuwbQb/clV/L9o9UuKpzfepnGP4uewVXwIh9/+wsKciQX8Uwvk6FvN\ne+pa\r\n=pXo5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 负责人\nzhaona12\n\n## MWS SDK 管理运营平台链接\nhttps://simi.sankuai.com/detail/55\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'));\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n* */\nlet params = req.body\nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKeyId,accessKeySecret,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n### 1.1.7-beta.2\n规范化加签代码格式。\n### 1.1.7-beta.1\n修复bug。\nzhaona12 更新时间： 2020 年 7 月 14 日\n### 1.1.6\n添加文件上传加签方法。\nzhaona12 更新时间： 2020 年 7 月 10 日\n### 1.1.6-beta.1\n添加文件上传加签方法。\nzhaona12 更新时间： 2020 年 7 月 7 日\n### 1.1.6-beta.0\nzhaona12 更新时间： 2020 年 7 月 3 日\n#### feature\n- 修改文档说明\n","gitHead":"a455fb1b9c23bdb72da0acb453340ae5ef6a5e8e","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.7-beta.2_1594697806586_0.593370114093557","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"mos-mss","version":"1.1.7","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.7","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"a88246ca91687df5776a1610e6bb39395a57ea6b","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.7.tgz","fileCount":47,"integrity":"sha512-LvEsDzWx+g6lLq43fnsQXHVSLLKoTE9/9/DQ9xf9cSuA9uhgFQKzNsFKJI+OODzvIni//U1w6Uz8HVZB4QnDEQ==","signatures":[{"sig":"MEUCIGZ56UNuXlzv1/F1bL9xvf5b+uufEgBgaVWOSpZ5YTZ2AiEA7haiQum3SxdcSP69T+CwbnkvnOEhxEbuB/2VYiaibPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDX20CRA9TVsSAnZWagAAmw8P/3WkWBsEtcTo7VbJu62O\nmWAR6BcPSJKJXa2HT8Bu2GdYk5UTrPhqZl6vP27lEr+OIxbjd+fQhDWetNH7\njovNfh4plsYInTrzmY/oHve6F6CD2cCHVOKKGr3fjzL1bVH3UHNfwqC4GMgR\ndY7+hfa+e1Ar8X9TVmiXERmxosQeoJZQaE2AgOv2qe5GUPh5RHrHAPprX1l/\nTgmnS26JypMpzHA6rl3qhTpB2XTLrSQ/fGm7NfYhTzADJRMZk1rLbxK1v1S5\noD0dnkToIJ5ZdsaCjV6lBtsmhy7IKCYPGLxSBn1As3n4v6syEnEwTlH8H7op\nQF7JCjkOr89fBwxyi2sghLZG7VGW/Qz6t+BJTLEBs6Mha7SFOxMJQ41W2dxY\ng6RcoRJ8PprUAf5DqQLn0XXlGeZ6CvISmCgU/NtfHN1q2wszGzRbiZftHObB\nQLBodSgXhj8S67d/I0PifW2fm0So9AS+8l8bRDto/LqhJizHpkKOaUF1kguu\na21IJdV+6ITJ7/t6CADMM/ZC+eX7ZTOri/J1iUFvUVvIAsnu98WSPzJnqEji\ntQBcvlohPGdCSb8gHdIdOr2OACeE1qP2/zEdOWiz8Ct5TYYspaeYVmlViwlD\n4rC6SEJHZcT36h/VY859OC7qm+uBZWd5KquzFQiPlRA5V///1husvI3zCyVk\n3Xv9\r\n=UvD2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"a455fb1b9c23bdb72da0acb453340ae5ef6a5e8e","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.7_1594719667658_0.42944444877331556","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"mos-mss","version":"1.1.8","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.8","maintainers":[{"name":"code-na2","email":"1162450304@qq.com"},{"name":"song940","email":"song940@gmail.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"7b479c55d245a1c67c7fb6f227b5bccc156db0fd","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.8.tgz","fileCount":47,"integrity":"sha512-9HnEKQpFnCBC3vJv6D/IJ8RnOIELMg7WiVk2BDqGO7ULRDyKB3ear67va8I928b4KCa3axQfz3/JwFLXmvgKOw==","signatures":[{"sig":"MEUCIQDD74oQrg1IAtV/3s6XRWUnJBTBt4jO/DK/+lRhKddzlAIgJmQNGUxRNLJWDw6fClo5XdoRCcWNBYPy1e80W68lTt4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM6DuCRA9TVsSAnZWagAARuoP/3IzEr+uEpInYKcBO6wM\nKaZCnbetpRDPj2Q4QYv+UMWMD5k9KNPUOcGxfECEsl6YBwmBwfdZe4al+KM+\nfwkl+W5b808BX9El9y8GQxZsoOJLWwofe64ZaR/Hj6fITHes++zYhQJckDJT\nHWsy7vrDoKSM/+pxpAmlCacOJtfbYQtYlXpBQHl0zFry0U6w67PGFHTOS5n8\ncbhE0uI6zJaJ6xj9q7f+7NiWAWEHO3R1uxxLeAYaTpiJLGZ7kkCzHuc2tIzf\nw/fgJL7e9BV7SL5E0YsFpTEqjjD//39HANNsoxlb+GGpTeUea9a8XYI9ACXz\nQVOhv9WcXxB/UrzovzP7AI+WGx1w+gR1SGHRE3ZXHPE+wu99sSwYURY/WoBN\n9sD9xTfgL4F6Lc6hlBa3YKKOreh7ob+bS5s2Hl56/fSx/1yiLR8C7P+ln7kq\nzWgaGyENlMFEdel0u8yqL/qrb73voYYqYqSM6zf9d8VAcQzfZMRavwrRh8yh\nLtnUGCJyKsimNi1MqDb/kAxOddGvzl+DVJ4TNlpKRvEtEO3Eq6JSuWg2n5ty\naTgMPLJohQ4qahrWiy2AgOl32uS6tqJqHzaa1eE4J1F8XuoDtr0NT5jUgzwE\n7dcPF0VzGrvTZ8GzBY0uH5HNJMcPXQdXOdkUBjvZ9KZrr7iE04Yq+of5islj\nXIEg\r\n=nmC1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"6c55451e074ad15a75463d4bb46aeb2934f32cc1","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"code-na2","email":"1162450304@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.4.1","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"8.12.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.8_1597219053636_0.48773107727925735","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"mos-mss","version":"1.1.9","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.9","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"manxia","email":"824494244@qq.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"},{"name":"code-na2","email":"1162450304@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"805754148cf3eec5b790e42c94b73a4434e80896","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.9.tgz","fileCount":50,"integrity":"sha512-or4ZmAFOa1W4vrLhzHbZwTpMWm9oxrAeK+4TkP+vZcmb9Fux94C0jQpfJdFOfIpzkL6ISVJzRZ6Y67NJoRy9sw==","signatures":[{"sig":"MEUCIDU+Nc/1+jGz2eBNl2LwvlPad5DFGzCN2lZJkgwyiF5JAiEA57Gqy705vkwlGpvs/tRVpA3dLjMEN8ekbk3uA16AVJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":165568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYbryCRA9TVsSAnZWagAAkHkP/Az+LTAqUJ0fK3xTAauO\neQj3vyKUS9tI9lBwWiVECuXOwfCx0sc+gi6/V+SW6iJLvQRA6jg5jlFpWtJf\nvSdWeNgEkKFVPTBtgQy7yk6KLryGE/OHVzL/3f1lQEVP8CC/LYpq8KYFtWvl\nTvYbztXsbpTNBPNgCDcIlE9CrHxRmm8WQOGcAY67cKuBc5sXDlghSD6sC6ed\n25um8XuTdqSwFyKve1vkhfyBbNO9I6M4iSW3Zyqb9r0HpqqitOXOQwAtzsfH\nFkeypdY7wURJuW2WDEM3pfDzVYK/6laxU/+fybXVx+UA47750rmwQnMsxoTB\nkES8bL1ySnS6CtYI6kEpC0SdW1YPVCBSk4xq2quLp4IhO97N3CiFmEjmRY17\niaOtuaXxafJs5BL3L/dY/DVbJWpE2jh0WpuHKfhjRcbrQGT5vfhl8BbaMSvo\nJTQjgK6uMtJwzF9h+QQ1WXf1SLG/bX+kVRz/22bLwzj1WkEZiySQtveTqdG9\nsCUITTVBSSBXUqdVqiwV8YQagVe3gjJW52TR5zm1OU15K3xHQ/zVfff7YyVE\nfdkr3o5Z+3ntyjFo1Ze/uUyM4jIGZJgATnlNlG9OsiYP+T1dXdvmkYQXN+M3\nrzHoukSkzj97cFfQyvOiEq5BhcTngGQNowW5HgksurleGocQp0pa4FUuaQME\nmpco\r\n=aH7I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"0bb972eb529d53e7e716b73b06f80e7b3be8eebe","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"manxia","email":"824494244@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.14.11","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"14.16.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.9_1617017586332_0.8592794368829373","host":"s3://npm-registry-packages"}},"1.1.10":{"name":"mos-mss","version":"1.1.10","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"author":{"name":"Meituan Storage Service"},"license":"MIT","_id":"mos-mss@1.1.10","maintainers":[{"name":"song940","email":"song940@gmail.com"},{"name":"manxia","email":"824494244@qq.com"},{"name":"upup","email":"1092674723@qq.com"},{"name":"xiaokunyu","email":"354007448@qq.com"},{"name":"code-na2","email":"1162450304@qq.com"}],"homepage":"https://github.com/Meituan-Dianping/mos-mss","bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"dist":{"shasum":"0c025843238277338738ebce7f0a6cb7602d67bb","tarball":"https://registry.npmjs.org/mos-mss/-/mos-mss-1.1.10.tgz","fileCount":50,"integrity":"sha512-qCL2rC1TtOH7khQHd3vQc5L4A0DqV5bMkoOL1maWVGl5rFVgptGE19tInb4hYINb5DtOHCBNy4FCNRU1yHZgcA==","signatures":[{"sig":"MEQCIDPdxCRwDWkF2rG+2Bf5kOZnf/91OuHgWeVaNtqJEYkcAiAS/hUQdrXDGLMvAXowWEZ/rqfy4QsSaZYgUQjfqOtDAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":165828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeVAnCRA9TVsSAnZWagAAJvcP/2XABqJr74WLfinbsUVg\nxQo6wlmBnWK86FnSh3cAq4V+NbYri7bqIDscSV17gq2WKVs4vX4ZB5UxAIY9\n8ofyJcN4DxTxl9IetG/OCGRND93wnBUrF0yGNcx97Fml3kcTAU5b6+gnUOpW\neaZiKviOLVkLpcv7FmUmGqYOsBoTmsvZbvRPxSEFKB4yWB/qCbrI2LYJcfag\nGJ0/voQZUOVtJEWBpvjRAhC/oETDPKo5x0AYtKNfUyoRYf+LhAVDS/DCOy8i\nQzg7jV5FloQkkTdyZOX9wB1ahpdZNUgiR06BigSYnGCVAkHGciiOuhrFthL/\nYAb5qM1HAaLt1Na0qJfHQodiJ34ib3zh2Z4f+BJV2nvWFEQILDZ5tBoAqpsD\nc52Fv2q9TdzS3XHx8R50PMB6WHProXNyk/7eobt30rotQO4IEmT8cNDPeWWs\nFfHeSgS5+yAirDxGCJtbGcTrWEUqimKMuDV+ySXE//OWM6dneemWR17o5SbW\nd133zlfHjDbuAyQm4sgZuXYNF1qz7wp7udWNsYzTeYTRHVOmh4t6sJ9QvDV4\n6ZUGs5ExG05u0idTlUcmqQz27+iZDYnnTMgnaFceF7zXPZqVFbs3vqV+NhzV\nbLVaS4IlNsQtWkiUgRr6trMlx1MmgsM/Qdww0Tou6VMRFRAmZxmXVQRJmnn8\nTpU5\r\n=pBaI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"ad2071cc81a3261589417746937b7a384d6d2660","scripts":{"lint":"npm run lint-src && npm run lint-test && npm run lint-sample","test":"mocha --recursive test","lint-src":"eslint src --fix","lint-test":"eslint test --fix","test-cover":"istanbul cover _mocha","lint-sample":"eslint sample --fix"},"_npmUser":{"name":"manxia","email":"824494244@qq.com"},"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"_npmVersion":"6.14.11","description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","directories":{},"_nodeVersion":"14.16.0","dependencies":{"url":"^0.11.0","mime":"^2.0.3","dayjs":"^1.8.29","xml2js":"^0.4.19","content-type":"^1.0.4","merge-descriptors":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^4.0.1","eslint":"^4.12.1","istanbul":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/mos-mss_1.1.10_1618563110441_0.1001091697379275","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-12-26T06:29:58.016Z","modified":"2026-08-27T17:34:11.128Z","1.0.0":"2017-12-26T06:29:58.016Z","0.1.0":"2018-01-15T02:12:07.539Z","0.1.1":"2018-01-23T06:27:34.363Z","0.1.2":"2018-02-11T03:24:11.933Z","0.1.3":"2018-02-26T03:18:14.924Z","0.2.0":"2018-04-12T05:05:46.963Z","0.2.1":"2018-04-12T07:09:08.294Z","1.0.1":"2018-12-04T02:36:03.148Z","1.0.2":"2018-12-10T03:49:43.139Z","1.0.3":"2019-01-02T07:25:18.438Z","1.0.4":"2019-01-08T03:12:40.045Z","1.0.5":"2019-04-01T08:14:19.720Z","1.0.6":"2019-07-17T04:35:05.299Z","1.0.7":"2019-08-01T05:42:24.791Z","1.0.8":"2019-08-15T02:54:19.779Z","1.0.9":"2019-09-18T12:26:49.779Z","1.1.0":"2019-09-24T11:22:00.409Z","1.1.1":"2019-10-18T03:36:21.577Z","1.1.2":"2019-12-17T09:48:11.850Z","1.1.3":"2020-01-08T07:20:48.442Z","1.1.4":"2020-02-13T08:50:18.964Z","1.1.5":"2020-06-09T02:37:57.145Z","1.1.7-beta.0":"2020-07-03T11:58:16.478Z","1.1.6-beta.0":"2020-07-03T12:02:58.094Z","1.1.6-beta.2":"2020-07-03T12:07:44.115Z","1.1.6-beta.1":"2020-07-07T07:36:11.191Z","1.1.6-beta.3":"2020-07-07T08:48:57.070Z","1.1.6":"2020-07-08T11:44:56.678Z","1.1.7-beta.1":"2020-07-14T03:04:02.491Z","1.1.7-beta.2":"2020-07-14T03:36:46.842Z","1.1.7":"2020-07-14T09:41:07.951Z","1.1.8":"2020-08-12T07:57:33.810Z","1.1.9":"2021-03-29T11:33:06.496Z","1.1.10":"2021-04-16T08:51:50.566Z"},"bugs":{"url":"https://github.com/Meituan-Dianping/mos-mss/issues"},"author":{"name":"Meituan Storage Service"},"license":"MIT","homepage":"https://github.com/Meituan-Dianping/mos-mss","keywords":["s3","sdk","api","oss","mss","mos","meituan"],"repository":{"url":"git+ssh://git@github.com/Meituan-Dianping/mos-mss.git","type":"git"},"description":"mtyun MSS(Meituan Storage Service) sdk for Node.js","maintainers":[{"email":"824494244@qq.com","name":"manxia"},{"email":"1092674723@qq.com","name":"upup"},{"email":"hanzongyuan@foxmail.com","name":"hanzongyuan"},{"email":"354007448@qq.com","name":"xiaokunyu"},{"email":"1162450304@qq.com","name":"code-na2"},{"email":"le1988jazh@163.com","name":"liuxr"},{"email":"song940@me.com","name":"lsongdev"}],"readme":"# mss-nodejs-sdk\nmtyun [MSS(Meituan Storage Service)](https://www.mtyun.com/doc/api/mss/mss/index) sdk for Node.js.\n\n## 项目简介\n\nConstructs a service interface object. Each API operation is exposed as a function on service.\n\n### MSS Usage\nMSS, Object Storage Service. Equal to well known Amazon [S3](http://aws.amazon.com/s3/).\n\n#### Constructor Details\nConstructs a service object. This object has one method for each API operation.\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n## 当前版本\n1.1.6\n\n## 支持环境\nnode>=6\n\n## 安装步骤\n```js\nnpm install mos-mss --save --registry=http://r.npm.sankuai.com\n```\n## 基础用法\n...\n\n## 示例\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>', /* required */\n    accessKeySecret: '<accessKeySecret>', /* required */\n    endpoint: '<endpoint>', /* required, such as 'msstest.vip.com', 注意不能包含协议(http://或https://) */\n    bucket: '<bucket name>' /* required */\n})\n\n```\n\noptions:\n\n- endpoint (String) — The endpoint URI to send requests to. The endpoint should be a string like\n'{service}.{region}.amazonaws.com'.\n- accessKeyId (String) — your MSS access key ID.\n- accessKeySecret (String) — your MSS secret access key.\n- bucket (String) your Bucket name.\n- secure (Boolean) http(false) or https(true). The default is false.\n- signerVersion (String) singer version v2 or v4. The default is v2.\n\n## 常用API\n\nRefer to [mss API](https://km.sankuai.com/page/58087604)、\n[mss-nodejs-sdk / mos-mss API](https://www.mtyun.com/doc/sdk/mss-sdk/node.js/index) for details.\n\n- [Bucket Operations](#bucket-operations)\n    - [listBucket()](#listbucket)\n    - [createBucket(name[, options])](#createbucketname-options)\n    - [deleteBucket(name[, options])](#deletebucketname-options)\n    - [getBucketACL(name[, options])](#getbucketaclname-options)\n    - [putBucketACL(name, ACL[, options])](#putbucketaclname-acl-options)\n    - [getBucket(name[, options])](#getbucketname-options)\n    - [getBucketLifecycle(name[, options])](#getbucketlifecyclename-options)\n    - [putBucketLifecycle(name[, options])](#putbucketlifecyclename-options)\n    - [deleteBucketLifecycle(name,[ options])](#deletebucketlifecyclename-options)\n    - [getBucketPolicy(name[, options])](#getbucketpolicyname-options)\n    - [putBucketPolicy(name[, options])](#putbucketpolicyname-options)\n    - [getBucketCors(name[, options])](#getbucketcorsname-options)\n    - [putBucketCors(name[, options])](#putbucketcorsname-options)\n    - [deleteBucketCors(name[, options])](#deletebucketcorsname-options)\n\n- [Object Operations](#object-operations)\n    - [putObject(key, file[, options])](#putobjectkey-file-options)\n    - [putStream(key, file[, options])](#putstreamkey-file-options)\n    - [multipartUpload(key, file[, options])](#multipartuploadkey-file-options)\n    - [closeMultipartUpload(key, uploadId)](#closemultipartuploadkey-uploadid)\n    - [getParts(key, uploadId)](#getpartskey-uploadid)\n    - [getObject(key, path[, options])](#getobjectkey-path-options)\n    - [getBuffer(key[, options])](#getbufferkey-options)\n    - [getStream(key[, options])](#getstreamkey-options)\n    - [listObject([options])](#listobjectoptions)\n    - [copyObject(from, to[, options])](#copyobjectfrom-to-options)\n    - [getMeta(key[, options])](#getmetakey-options)\n    - [deleteObject(key[, options])](#deleteobjectkey-options)\n    - [deleteMultiple(keys[, options])](#deletemultiplekeys-options)\n\n## Bucket Operations\n\n### listBucket()\n\nReturns a list of all buckets owned by the authenticated sender of the request.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.listBucket();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- query (Object) (defaults to: {})\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Buckets (Array)\n            - Name — (String) The name of the bucket.\n            - CreationDate — (Date) Date the bucket was created.\n        - Owner (Object)\n            - DisplayName — (String)\n            - ID — (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### createBucket(name[, options])\n\nCreates a new bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.createBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - x-mss-trace-id (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucket(name[, options])\n\nDeletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted\nbefore the bucket itself can be deleted.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\n\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketACL(name[, options])\n\nGets the access control policy for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketACL('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs. The data object has the following properties:\n        - Owner (Object)\n        - DisplayName — (String) Screen name of the grantee.\n\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t- Grants — (Array) A list of grants.\n\t\t\t- Grantee\n\t\t\t\t- DisplayName — (String) Screen name of the grantee.\n\t\t\t\t- EmailAddress — (String) Email address of the grantee.\n\t\t\t\t- ID — (String) The canonical user ID of the grantee.\n\t\t\t\t- URI — (String) URI of the grantee group.\n\t\t\t- Permission — (String) Specifies the permission given to the grantee. Possible values include:\n\t\t\t\t- \"FULL_CONTROL\"\n\t\t\t\t- \"WRITE\"\n\t\t\t\t- \"WRITE_ACP\"\n\t\t\t\t- \"READ\"\n\t\t\t\t- \"READ_ACP\"\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketACL(name, ACl[, options])\n\nSets the permissions on a bucket using access control lists (ACL).\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketACL('Bucket Name', 'ACL');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- ACL — (String) The canned ACL to apply to the bucket. Possible values include:\n    - private\n    - public-read\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucket(name[, options])\n\nThis operation is useful to determine if a bucket exists and you have permission to access it.mos\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucket('Bucket Name');\nresult.then(function (res) {\n    console.log(res);\n    //res.code === 200 exists\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```. Set to ```{}```\n    if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketLifecycle(name[, options])\n\nGet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n    The data object has the following properties:\n        - Rule — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete\n                marker with no noncurrent versions.\n                If set to true, the delete marker will be expired; if set to false the policy takes no action.\n                This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent objects\n            transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning\n            is suspended), you can set this action to request that mos S3 transition noncurrent object versions to\n            the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n                - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n                mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n                on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n                at a specific period in the object's lifetime.\n                - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n                perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n                When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n                - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart Upload\n                that Lifecycle will wait before permanently removing all parts of the upload.\n                - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation for Lifecycle\n                to abort an Incomplete Multipart Upload.\n    - error (Object) — the error object returned from the request. Set to ``null`` if the request is successful.\n\n### putBucketLifecycle(name[, options])\n\nSet the bucket object lifecycle.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketLifecycle('Bucket', {\n    lifecycleConfig: {\n        Rule: [\n            {\n                Expiration: {\n                    Days: 30\n                },\n                ID: 'STRING_VALUE',\n                Filter: {\n                    Prefix: ''\n                }\n            }\n        ]\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - lifecycleConfiguration — (map)\n        - Rule — required — (Array<map>)\n            - Expiration — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted.Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - ExpiredObjectDeleteMarker — (Boolean) Indicates whether mos S3 will remove a delete marker\n                with no noncurrent versions. If set to true, the delete marker will be expired; if set to\n                false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.\n            - ID — (String) Unique identifier for the rule. The value cannot be longer than 255 characters.\n            - Prefix — required — (String) Prefix identifying one or more objects to which the rule applies.\n            - Status — required — (String) If 'Enabled', the rule is currently being applied. If 'Disabled',\n            the rule is not currently being applied. Possible values include:\n                - \"Enabled\"\n                - \"Disabled\"\n            - Transition — (map)\n                - Date — (Date) Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.\n                - Days — (Integer) Indicates the lifetime, in days, of the objects that are subject to the rule.\n                The value must be a non-zero positive integer.\n                - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                    - \"GLACIER\"\n                    - \"STANDARD_IA\"\n            - NoncurrentVersionTransition — (map) Container for the transition rule that describes when noncurrent\n            objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled\n            (or versioning is suspended), you can set this action to request that mos S3 transition noncurrent object versions\n            to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can\n            perform the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - StorageClass — (String) The class of storage used to store the object. Possible values include:\n                - \"GLACIER\"\n                - \"STANDARD_IA\"\n            - NoncurrentVersionExpiration — (map) Specifies when noncurrent object versions expire. Upon expiration,\n            mos S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action\n            on a bucket that has versioning enabled (or suspended) to request that mos S3 delete noncurrent object versions\n            at a specific period in the object's lifetime.\n            - NoncurrentDays — (Integer) Specifies the number of days an object is noncurrent before mos S3 can perform\n            the associated action. For information about the noncurrent days calculations, see How mos S3 Calculates\n            When an Object Became Noncurrent in the mos Simple Storage Service Developer Guide.\n            - AbortIncompleteMultipartUpload — (map) Specifies the days since the initiation of an Incomplete Multipart\n            Upload that Lifecycle will wait before permanently removing all parts of the upload.\n            - DaysAfterInitiation — (Integer) Indicates the number of days that must pass since initiation\n            for Lifecycle to abort an Incomplete Multipart Upload.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketLifecycle(name[, options])\n\nDeletes the lifecycle configuration from the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketLifecycle('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketPolicy(name[, options])\n\nReturns the policy of a specified bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.getBucketPolicy('test-bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- Policy — (String) The bucket policy as a JSON document.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### putBucketPolicy(name[, options])\n\nReplaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n})\n\nvar result = client.putBucketPolicy('test-bucket', {\n    policy: {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[\n            // refer 不相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\": {\"AWS\": \"*\"},\n                \"Action\":[\"s3:PutObject\", \"s3:PutObjectAcl\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"]\n            },\n            // refer 相关部分\n            {\n                \"Sid\":\"\",\n                \"Effect\":\"Allow\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                    \"StringLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            },\n            {\n                \"Sid\":\"Allow get requests without referrer\",\n                \"Effect\":\"Deny\",\n                \"Principal\":{\"AWS\": \"*\"},\n                \"Action\":[\"s3:GetObject\"],\n                \"Resource\":[\"arn:aws:s3:::examplebucket/*\"],\n                \"Condition\":{\n                            \"StringNotLike\":{\"aws:Referer\":[\"http://www.example.com/*\", \"http://example.com/*\", \"\"]}\n                }\n            }\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\n- options (Object)\n    - policy — (Object) The bucket policy as a JSON document.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBucketCors(name[, options])\nReturns the cors configuration for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.getBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) — the de-serialized data returned from the request. Set to null if a request error occurs.\n\tThe data object has the following properties:\n\t\t- CORSRule — (Array<map>)\n\t\t\t- AllowedHeaders — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n\t\t\t- AllowedOrigins — required — (Array<String>) One or more origins you want customers to be able to access the bucket from.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putBucketCors(name[, options])\nSets the cors configuration for a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.putBucketCors('Bucket', {\n    CORSConfiguration: {\n        CORSRule: [\n            {\n                AllowedMethod: [\n                    'GET',\n                /* more items */\n                ],\n                AllowedOrigin: [\n                    'http://www.example1.com',\n                    'http://www.example2.com',\n                /* more items */\n                ],\n                AllowedHeader: [\n                    '*',\n                /* more items */\n                ],\n                MaxAgeSeconds: 0\n            },\n        /* more items */\n        ]\n    }\n});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n- options (Object)\n    - CorsConfiguration — (map)\n        - CORSRule — required — (Array<map>)\n            - AllowedHeader — (Array<String>) Specifies which headers are allowed in a pre-flight OPTIONS request.\n            - AllowedMethod — required — (Array<String>) Identifies HTTP methods that the domain/origin specified\n            in the rule is allowed to execute.\n            - AllowedOrigin — required — (Array<String>) One or more origins you want customers to be able\n            to access the bucket from.\n            - MaxAgeSeconds — (Integer) The time in seconds that your browser is to cache the preflight\n            response for the specified resource.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteBucketCors(name[, options])\nDeletes the cors configuration information set for the bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>'\n});\n\nvar result = client.deleteBucketCors('Bucket');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) Bucket name.\n\nReturn:\n\n- res (Object)\n\t- code (Number) — the code number returned from the request. The request is successful when the number is 200.\n\t- data (Object) - the de-serialized data returned from the request. The default is ```{}```.\n\t- error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n## Object Operations\n\n### putObject(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\n// file: String\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar filePath = path.join(__dirname, './test.json');\nvar result = client.putObject('ObjectKey', filePath);\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// file: Buffer\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.putObject('ObjectKey', new Buffer('test'), {'headers':{'Content-Type': 'text/css'}});\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String|Buffer|ReadStream) object local path, content buffer or ReadStream content.\n    if the file is Buffer or ReadStream, must set options.headers.Content-Type\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version of\n        a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### putStream(key, file[, options])\n\nAdds an object to a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar filePath = path.join(__dirname, './test.json');\nvar stream = fs.createReadStream(filePath);\n\nvar result = client.putStream('ObjectKey', stream);\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (ReadStream) ReadStream content.\n- options (Object)\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag — (String) An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### multipartUpload(key, file[, options])\n\nUpload file with MSS multipart.\n\nExamples:\n\n```js\n// Piecewise upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    signerVersion: 'v4',\n    bucket: 'Bucket'\n});\n\nvar write = function (data) {\n    return fs.writeFileSync(path.join(__dirname, './data/checkpoint.txt'), data);\n};\n\nvar result = client.multipartUpload('ObjectKey', path.join(__dirname, './img/test-big.json'), {\n    progress: function (p, checkpoint) {\n        write(JSON.stringify(checkpoint));\n        console.log('Progress: ' + p);\n    }\n});\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n// Breakpoint upload\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar fs = require('fs');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar read = function () {\n    return fs.readFileSync(path.join(__dirname, './data/checkpoint.txt'), 'utf-8');\n};\nvar checkpoint = JSON.parse(read());\n\nvar object = client.multipartUpload('Bucket', path.join(__dirname, './data/test-big.json'), {\n    checkpoint: checkpoint,\n    progress: function (p, checkpoint) {\n        console.log('Progress: ' + p, checkpoint);\n    }\n});\n\nobject.then(function (data) {\n    console.log(data);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- file (String) object local path\n- options (Object)\n    - partSize (Number) — the suggested size for each part.\n    - checkpoint (Object) — the checkpoint to resume upload.\n    - headers (Object) extra headers.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - ETag (String) — An ETag is an opaque identifier assigned by a web server to a specific version\n        of a resource found at a URL.\n        - Location (String)\n        - Bucket (String)\n        - Key (String)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### closeMultipartUpload(key, uploadId)\n\nAbort a multipart upload for object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.closeMultipartUpload('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getParts(key, uploadId)\n\na list of parts that has been uploaded.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getParts('Bucket', 'UploadId');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- uploadId (String) the upload id\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getObject(key, path[, options])\nRetrieves objects from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar path = require('path');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getObject('test.json', path.join(__dirname, './data/test.json'));\n\nresult.then(function (data) {\n    console.log(data);\n});\n```\n\nParameters:\n\n- key (String) — object name.\n- path (String) - object local path.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### getBuffer(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getBuffer('test');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - content (String)  — the data.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### getStream(key[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar writeStream = fs.createWriteStream(path.join(__dirname, './data/test.json'));\n\nvar result = client.getStream('ObjectKey');\n\nresult.then(function (data) {\n    data.stream.pipe(writeStream);\n    data.stream.on('end', function () {\n        console.log('success');\n    });\n    data.stream.on('error', function (err) {\n        console.log('fail', err);\n    });\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - stream (ReadStream)\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### listObject([options])\nReturns all of the objects in a bucket.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n\nvar result = client.listObject();\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- options (Object)\n    - query (Object) query object, see the api list.\n        - delimiter (String) - A delimiter is a character you use to group keys.\n        - marker (String) - Specifies the key to start with when listing objects in a bucket.\n        - max-keys (Integer) - Sets the maximum number of keys returned in the response. The response might\n        contain fewer keys but will never contain more.\n        - prefix (String) - Limits the response to keys that begin with the specified prefix.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Name (String) - Bucket name\n        - Prefix (String)\n        - Marker (String)\n        - MaxKeys (Integer)\n        - Contents (Array) the list of object.\n            - Key (String) — object name on mss.\n            - Etag (String) — object etag.\n            - LastModified (String) — object last modified GMT date.\n            - Size (Number) — object size.\n            - StorageClass (String) — storage class type.\n            - Owner (Object) — object owner, including ID and DisplayName.\n        - IsTruncated (Boolean) - A flag that indicates whether or not Amazon S3 returned all of the results that\n        satisfied the search criteria.\n        - Delimiter (String)\n        - NextMarker (String) - When response is truncated (the IsTruncated element value in the response is true),\n        you can use the key name in this field as marker in the subsequent request to get next set of objects.\n        Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter\n        request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### copyObject(from, to[, options])\n\nCreates a copy of an object that is already stored in mss S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.copyObject(‘from’, 'to');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\t- error (Object) — the error object returned\n        from the request. Set to ```null``` if the request is successful.\n\n\n### getMeta(key[, options])\n\nRetrieves objects meta from mos S3.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.getMeta('ObjectKey');\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs. The data object has the following properties:\n        - Etag (String) — object etag.\n        - LastModified (String) — object last modified GMT date.\n        - ContentType (String) — content-type.\n        - ContentLength (String) — content-length.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n### deleteObject(key[, options])\n\nDeletes an object.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteObject('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- key (String) — object name.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### deleteMultiple(keys[, options])\n\nDeletes objects by query.\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.deleteMultiple('array');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- keys (Array) — objects.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (Object) — the de-serialized data returned from the request. The default is ```{}```.\nSet to ```{}``` if a request error occurs.\n    - error (Object) — the error object returned from the request. Set to ```null``` if the request is successful.\n\n\n### signatureUrl(name[, options])\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\nvar result = client.signatureUrl('ObjectKey');\n\nresult.then(function (res) {\n    console.log(res);\n});\n\n```\n\nParameters:\n\n- name (String) — object name.\n- options (Object)\n    - headers (Object) extra headers.\n    - query (Object)\n        - response-content-type (String) - Sets the Content-Type header of the response.\n        - response-content-language (String) - Sets the Content-Language header of the response.\n        - response-expires (String) - Sets the Expires header of the response.\n        - response-cache-control (String) - Sets the Cache-Control header of the response.\n        - response-content-disposition (String) - Sets the Content-Disposition header of the response.\n        - response-content-encoding (String) - Sets the Content-Encoding header of the response.\n\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 200.\n    - data (String) — object signature url.\n\n### getUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\nvar signValue = client.getUploadSign({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n\n```\n\nParameters:\n- options (Object)\n    - accessKeyId: '<accessKeyId>',\n    - accessKeySecret: '<accessKeySecret>',\n    - bucket: 'Bucket'\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        policy: policy,\n        signature: signature,\n        key: key\n    }\n\n### getMultiUploadSign(options)\n\nExamples:\n\n```js\nvar MSS = require('mos-mss');\nvar client = new MSS({\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n});\n/**\n    * params = {\n    *   type:'uploadPart',\n        partNumber: '**',\n        uploadId: '***',\n        key: '***'\n    }\n* */\nlet params = req.body\nconst uploadConfig = {\n    accessKeyId: '<accessKeyId>',\n    accessKeySecret: '<accessKeySecret>',\n    bucket: 'Bucket'\n},\nObject.assign(params,{\n    uploadConfig:uploadConfig\n})\nvar signValue = client.getMultiUploadSign(params)\n\n```\n\nParameters:\n\n- options (Object)\n    - type:用于区分分片步骤，分别包括initMultiUpload，uploadPart，completMultiUpload\n    - partNumber: 上传分片序号，仅在type=uploadPart使用\n    - uploadId: 上传uploadId，仅在type=uploadPart及completMultiUpload使用\n    - uploadConfig:上传时配置对象，包含S3对应的accessKeyId,accessKeySecret,bucket\n    - key: 文件最后生产的key名称，用于在S3上显示的文件名及后缀\nReturn:\n\n- res (Object)\n    - code (Number) — the code number returned from the request. The request is successful when the number is 0.\n    - message (String) - message\n    - data (Object) — {\n        AWSAccessKeyId: AWSAccessKeyId,\n        Signature: signature,\n        Date: Date\n    }\n\n## License\n\n[MIT](LICENSE)\n\n## 文档链接\n\n## 整体目录结构\n\n## 常见问题\n\n## 常见问题说明\n\n## 关键词\n\n## 附录\n\n## 版权和许可信息\n\n## 更新日志\n\n### 1.1.9\n更新 readme\n### 1.1.7\n规范化加签代码格式。\n更新时间： 2020 年 7 月 14 日\n### 1.1.7-beta.1\n修复bug。\n更新时间： 2020 年 7 月 14 日\n### 1.1.6\n添加文件上传加签方法。\n更新时间： 2020 年 7 月 10 日\n### 1.1.6-beta.1\n添加文件上传加签方法。\n更新时间： 2020 年 7 月 7 日\n### 1.1.6-beta.0\n更新时间： 2020 年 7 月 3 日\n#### feature\n- 修改文档说明\n","readmeFilename":"README.md","users":{"upup":true}}