upd: change parser and fix fetchAccessToken

This commit is contained in:
Mar0xy 2023-09-24 23:18:39 +02:00
parent 30cc0a9b18
commit 37d7a4b604
No known key found for this signature in database
GPG key ID: 56569BBE47D2C828
2 changed files with 41 additions and 18 deletions

View file

@ -1,5 +1,6 @@
import { Inject, Injectable } from '@nestjs/common';
import megalodon, { Entity, MegalodonInterface } from 'megalodon';
import querystring from 'querystring';
import { IsNull } from 'typeorm';
import multer from 'fastify-multer';
import type { UsersRepository } from '@/models/_.js';
@ -45,13 +46,20 @@ export class MastodonApiServerService {
done();
});
fastify.addContentTypeParser(['application/x-www-form-urlencoded'], { parseAs: 'string' }, (req, body, done) => {
const dataObj: any = {};
const parsedData = new URLSearchParams(body as string);
for (const pair of parsedData.entries()) {
dataObj[pair[0]] = pair[1];
}
done(null, dataObj);
fastify.addContentTypeParser('application/x-www-form-urlencoded', function (request, payload, done) {
let body = '';
payload.on('data', function (data) {
body += data;
});
payload.on('end', function () {
try {
const parsed = querystring.parse(body);
done(null, parsed);
} catch (e: any) {
done(e);
}
});
payload.on('error', done);
});
fastify.register(multer.contentParser);