@@ -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 ) ) ]
4142internal partial class GitHubContext : JsonSerializerContext ;
4243public 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