fix(upload-ova): compatibility with latest API (#5432)

This commit is contained in:
Nicolas Raynaud
2020-12-07 11:11:37 +01:00
committed by GitHub
parent 3b7b776ac4
commit f7fd0d9121
4 changed files with 27 additions and 11 deletions

View File

@@ -35,6 +35,7 @@
"dependencies": {
"chalk": "^4.1.0",
"exec-promise": "^0.7.0",
"form-data": "^3.0.0",
"fs-extra": "^9.0.0",
"fs-promise": "^2.0.3",
"get-stream": "^6.0.0",

View File

@@ -4,6 +4,7 @@
import chalk from 'chalk'
import execPromise from 'exec-promise'
import FormData from 'form-data'
import { createReadStream } from 'fs'
import { stat } from 'fs-promise'
import getStream from 'get-stream'
@@ -187,8 +188,17 @@ export async function upload(args) {
let keys, key, url
if (isObject(result) && (keys = getKeys(result)).length === 1) {
key = keys[0]
if (key === '$sendTo') {
const formData = new FormData()
if (data.tables !== undefined) {
for (const k in data.tables) {
const tables = await data.tables[k]
delete data.tables[k]
for (const l in tables) {
formData.append(l, Buffer.from(tables[l]), k)
}
}
}
if (typeof file !== 'string') {
// eslint-disable-next-line no-throw-literal
throw 'file parameter should be a path'
@@ -206,16 +216,9 @@ export async function upload(args) {
printProgress
),
])
formData.append('file', input, { filename: 'file', knownLength: length })
try {
return await hrp
.post(url.toString(), {
body: input,
headers: {
'content-length': length,
},
})
.readAll('utf-8')
return await hrp.post(url.toString(), { body: formData, headers: formData.getHeaders() }).readAll('utf-8')
} catch (e) {
console.log('ERROR', e)
console.log('ERROR content', await e.response.readAll('utf-8'))

View File

@@ -16,6 +16,8 @@
> Users must be able to say: “I had this issue, happy to know it's fixed”
- [OVA/import] Fix OVA CLI import tool (PR [#5432](https://github.com/vatesfr/xen-orchestra/pull/5432))
### Packages to release
> Packages will be released in the order they are here, therefore, they should
@@ -33,5 +35,6 @@
>
> In case of conflict, the highest (lowest in previous list) `$version` wins.
- @xen-orchestra/upload-ova patch
- xo-server minor
- xo-web minor

View File

@@ -5110,7 +5110,7 @@ combine-source-map@^0.8.0, combine-source-map@~0.8.0:
lodash.memoize "~3.0.3"
source-map "~0.5.3"
combined-stream@^1.0.6, combined-stream@~1.0.6:
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -8077,6 +8077,15 @@ forever-agent@~0.6.1:
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
form-data@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"