Skip to content

Commit 694c55e

Browse files
committed
fix(Core): ensure Gist uploader uses Context
1 parent 50f7792 commit 694c55e

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

SnapX.Core/Upload/Text/GitHubGist.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public override GenericUploader CreateUploader(UploadersConfig config, TaskRefer
3838
}
3939
[JsonSerializable(typeof(OAuth2Token))]
4040
[JsonSerializable(typeof(GitHubGist.GistResponse))]
41+
[JsonSerializable(typeof(GitHubGist.GistUpload))]
4142
internal partial class GitHubContext : JsonSerializerContext;
4243
public sealed class GitHubGist : TextUploader, IOAuth2Basic
4344
{
@@ -48,7 +49,10 @@ public sealed class GitHubGist : TextUploader, IOAuth2Basic
4849
public bool PublicUpload { get; set; }
4950
public bool RawURL { get; set; }
5051
public string? CustomURLAPI { get; set; }
51-
52+
private static readonly JsonSerializerOptions SerializerOptions = new()
53+
{
54+
TypeInfoResolver = GitHubContext.Default
55+
};
5256
public GitHubGist(OAuth2Info oAuthInfos)
5357
{
5458
AuthInfo = oAuthInfos;
@@ -84,11 +88,7 @@ public bool GetAccessToken(string? code)
8488

8589
var response = SendRequestMultiPart("https://github.com/login/oauth/access_token", args, headers);
8690
if (string.IsNullOrEmpty(response)) return false;
87-
var options = new JsonSerializerOptions
88-
{
89-
TypeInfoResolver = GitHubContext.Default
90-
};
91-
var token = JsonSerializer.Deserialize<OAuth2Token>(response, options);
91+
var token = JsonSerializer.Deserialize<OAuth2Token>(response, SerializerOptions);
9292
if (string.IsNullOrEmpty(token?.access_token)) return false;
9393

9494
AuthInfo.Token = token;
@@ -115,7 +115,7 @@ public override UploadResult UploadText(string? text, string? fileName)
115115
}
116116
};
117117

118-
var json = JsonSerializer.Serialize(gistUpload);
118+
var json = JsonSerializer.Serialize(gistUpload, SerializerOptions);
119119

120120
var headers = new NameValueCollection
121121
{
@@ -124,7 +124,7 @@ public override UploadResult UploadText(string? text, string? fileName)
124124

125125
var response = SendRequest(HttpMethod.Post, url, json, RequestHelpers.ContentTypeJSON, null, headers);
126126

127-
var gistResponse = JsonSerializer.Deserialize<GistResponse>(response);
127+
var gistResponse = JsonSerializer.Deserialize<GistResponse>(response, SerializerOptions);
128128

129129
if (gistResponse != null)
130130
{
@@ -134,14 +134,14 @@ public override UploadResult UploadText(string? text, string? fileName)
134134
return ur;
135135
}
136136

137-
private class GistUpload
137+
public class GistUpload
138138
{
139139
public string description { get; set; }
140140
public bool @public { get; set; }
141141
public Dictionary<string?, GistUploadFileInfo> files { get; set; }
142142
}
143143

144-
private class GistUploadFileInfo
144+
public class GistUploadFileInfo
145145
{
146146
public string? content { get; set; }
147147
}

0 commit comments

Comments
 (0)