fix: update request body encoding to use utf-8 for JSON payloads

This commit is contained in:
insleker 2026-04-13 09:48:57 +08:00
parent 6931b85682
commit 4d2ced2b96
5 changed files with 19 additions and 17 deletions

View File

@ -745,9 +745,9 @@ class IssueTrackerClient {
if (body != null) {
request.headers.set(
HttpHeaders.contentTypeHeader,
'application/json',
'application/json; charset=utf-8',
);
request.write(jsonEncode(body));
request.add(utf8.encode(jsonEncode(body)));
}
final response = await request.close();
final responseBody = await utf8.decodeStream(response);
@ -833,7 +833,7 @@ class IssueTrackerClient {
'Basic ${base64Encode(utf8.encode('apikey:${config.token}'))}',
);
if (body != null) {
request.write(jsonEncode(body));
request.add(utf8.encode(jsonEncode(body)));
}
final response = await request.close();

View File

@ -125,17 +125,19 @@ class DiscordWebhookNotifier implements Notifier {
final uri = Uri.parse(webhookUrl);
final request = await _httpClient.postUrl(uri);
request.headers.contentType = ContentType.json;
request.write(
jsonEncode({
'content': formatDiscordNotificationMessage(
event: event,
context: context,
),
if (config.username != null && config.username!.isNotEmpty)
'username': config.username,
if (config.avatarUrl != null && config.avatarUrl!.isNotEmpty)
'avatar_url': config.avatarUrl,
}),
request.add(
utf8.encode(
jsonEncode({
'content': formatDiscordNotificationMessage(
event: event,
context: context,
),
if (config.username != null && config.username!.isNotEmpty)
'username': config.username,
if (config.avatarUrl != null && config.avatarUrl!.isNotEmpty)
'avatar_url': config.avatarUrl,
}),
),
);
final response = await request.close();

View File

@ -944,7 +944,7 @@
"worktrunk": {
"source": "max-sixty/worktrunk",
"sourceType": "github",
"computedHash": "252c02ad30d62a966f6eff331be0b440c058bb346462b8ef0dab276c9ea2abbc"
"computedHash": "7123a4ec54e86c85723f1fdfb0bc1ea338e3f54078aafb791bb6fe12987022e7"
},
"write-coding-standards-from-file": {
"source": "github/awesome-copilot",

View File

@ -363,7 +363,7 @@ Future<void> _postGitHubWebhook(
final request = await client.postUrl(Uri.parse(targetUrl));
request.headers.contentType = ContentType.json;
request.headers.set('X-GitHub-Event', 'issue_comment');
request.write(jsonEncode(webhookPayload));
request.add(utf8.encode(jsonEncode(webhookPayload)));
await request.close();
} finally {
client.close(force: true);

View File

@ -78,7 +78,7 @@ Future<void> _postWebhook(
final request = await client.postUrl(Uri.parse(targetUrl));
request.headers.contentType = ContentType.json;
request.headers.set(webhookHeader, 'issue_comment');
request.write(jsonEncode(payload));
request.add(utf8.encode(jsonEncode(payload)));
await request.close();
} finally {
client.close(force: true);