Как ответить на звонок с роутером koa? - PullRequest
0 голосов
/ 12 февраля 2019

Я посмотрел в блогах и немного погуглил по этому поводу, но я не уверен, почему у меня возникла эта проблема и как ее исправить.Приложение, с которым я работаю, использует множество функций генератора и роутер koa.Это своего рода старый проект, и у меня нет большого опыта работы с узлами, больше с Java.В любом случае, я чувствую, что этот код должен работать, но это не так.Я создал конечную точку сообщения для загрузки файлов.Когда я нажимаю на конечную точку в почтальоне, я вижу, что сервер принимает файл, но конечная точка никогда не возвращает ответ, а почтальон просто зависает.Кто-нибудь может сказать мне, почему это не работает?Как я могу вернуть this.body и вернуть ответ 200.

Конечная точка, которую нужно нажать

apiV1.post('/s3-file/upload/:path/:geo', s3Files.uploadFileToBucket);

Логика обработки загрузки файла

const parse = require('co-busboy');

    function * uploadFileToBucket () {
        const parts = parse(this);
        let part;
        while (part = yield parts()) {
            if (part.length) {
                console.warn('FileUpload was not a parsable file with request: ', this.request);
            } else {
                // otherwise, it's a stream
                // part.pipe(fs.createWriteStream('some file.txt'))
                this.body = part._readableState.buffer.head.data.toString();
            }
        }
    }

Не знаюпонять почему это не работает.Когда я присваиваю данные this.body в некоторых запросах get в том же проекте, конечная точка get работает нормально.Как сделать так, чтобы этот почтовый запрос возвращал ответ 200 вместе с содержимым загруженного файла?

...