httpbuilder-ng multipart/form-data с большой частью application/zip

При попытке загрузить большой zip-файл через multipart/form-data с помощью реализации httpacheder-ng apache версии 0.16.1 я получаю

org.apache.http.ContentTooLongException: слишком длинная длина контента: 109370 в org.apache.http.entity.mime.MultipartFormEntity.getContent(MultipartFormEntity.java:103) в groovyx.net.http.ApacheEncoders.mcopart(ApacheEjava:74)

и это нормально, потому что zip довольно большой, и нет никаких причин для его перемещения по буферам и ByteArray [Input|Output] Stream, вопрос в том, как мне на самом деле отправить multipart в выходной поток соединения? я пытался настроить кодировщик, но ToServer предоставляет только один метод, который принимает InputStream, который на самом деле не работает для меня

Вот фрагмент того, что я делал

configure {
        request.uri = 'https://anypoint.mulesoft.com'
        request.contentType = JSON[0]
        request.encoder(MULTIPART_FORMDATA[0], ApacheEncoders.&multipart)
    }
    .post {
        request.uri.path = '/cloudhub/api/v2/applications'
        request.headers['X-ANYPNT-ENV-ID'] = eid
        request.contentType = MULTIPART_FORMDATA[0]
        request.body = multipart {
            part('appInfoJson', JSON[0], '{"domain":"myDomain"}')
            part('autoStart', 'true')
            part(
                    'file',
                    'myLargeZip.zip',
                    BINARY[0], // or 'application/zip'
                    new File('/parent', 'myLargeZip.zip')
            )
        }
    }

0 ответов

Другие вопросы по тегам