@@ -45,8 +45,8 @@ public class TwitchHelix
4545 /// <summary>
4646 /// Web Client
4747 /// </summary>
48- private Network . WebClient m_WebClient = new Network . WebClient ( "https://api.twitch.tv/helix/" , TimeSpan . FromSeconds ( 10 ) , true ) ;
49- private Network . WebClientEx m_WebClientEx = new Network . WebClientEx ( "https://api.twitch.tv/helix/" , TimeSpan . FromSeconds ( 10 ) , true ) ;
48+ private Network . WebClientUnity m_WebClient = new Network . WebClientUnity ( "https://api.twitch.tv/helix/" , TimeSpan . FromSeconds ( 10 ) , true ) ;
49+ private Network . WebClientCore m_WebClientEx = new Network . WebClientCore ( "https://api.twitch.tv/helix/" , TimeSpan . FromSeconds ( 10 ) , true ) ;
5050 /// <summary>
5151 /// Broadcaster ID
5252 /// </summary>
@@ -94,8 +94,8 @@ public class TwitchHelix
9494 /// <summary>
9595 /// Client
9696 /// </summary>
97- public Network . WebClient WebClient => m_WebClient ;
98- public Network . WebClientEx WebClientEx => m_WebClientEx ;
97+ public Network . WebClientUnity WebClient => m_WebClient ;
98+ public Network . WebClientCore WebClientEx => m_WebClientEx ;
9999 /// <summary>
100100 /// Broadcaster ID
101101 /// </summary>
@@ -133,27 +133,15 @@ internal void OnTokenChanged(string p_Token)
133133 {
134134 try
135135 {
136- if ( m_WebClient . Headers . ContainsKey ( "Client-Id" ) )
137- m_WebClient . Headers . Remove ( "Client-Id" ) ;
138-
139- if ( m_WebClient . Headers . ContainsKey ( "Authorization" ) )
140- m_WebClient . Headers . Remove ( "Authorization" ) ;
141-
142- m_WebClient . Headers . Add ( "Client-Id" , TwitchService . TWITCH_CLIENT_ID ) ;
143- m_WebClient . Headers . Add ( "Authorization" , "Bearer " + p_Token . Replace ( "oauth:" , "" ) ) ;
136+ m_WebClient . SetHeader ( "Client-Id" , TwitchService . TWITCH_CLIENT_ID ) ;
137+ m_WebClient . SetHeader ( "Authorization" , "Bearer " + p_Token . Replace ( "oauth:" , "" ) ) ;
144138 }
145139 catch ( System . Exception ) { }
146140
147141 try
148142 {
149- if ( ! m_WebClientEx . InternalClient . DefaultRequestHeaders . Contains ( "Client-Id" ) )
150- m_WebClientEx . InternalClient . DefaultRequestHeaders . Remove ( "Client-Id" ) ;
151-
152- if ( m_WebClientEx . InternalClient . DefaultRequestHeaders . Contains ( "Authorization" ) )
153- m_WebClientEx . InternalClient . DefaultRequestHeaders . Remove ( "Authorization" ) ;
154-
155- m_WebClientEx . InternalClient . DefaultRequestHeaders . Add ( "Client-Id" , TwitchService . TWITCH_CLIENT_ID ) ;
156- m_WebClientEx . InternalClient . DefaultRequestHeaders . Add ( "Authorization" , "Bearer " + p_Token . Replace ( "oauth:" , "" ) ) ;
143+ m_WebClientEx . SetHeader ( "Client-Id" , TwitchService . TWITCH_CLIENT_ID ) ;
144+ m_WebClientEx . SetHeader ( "Authorization" , "Bearer " + p_Token . Replace ( "oauth:" , "" ) ) ;
157145 }
158146 catch ( System . Exception ) { }
159147
@@ -268,15 +256,12 @@ internal void Update()
268256 /// </summary>
269257 private void ValidateToken ( )
270258 {
271- var l_WebClient = new Network . WebClient ( "" , TimeSpan . FromSeconds ( 10 ) , true ) ;
259+ var l_WebClient = new Network . WebClientUnity ( "" , TimeSpan . FromSeconds ( 10 ) , true ) ;
272260 try
273261 {
274- l_WebClient . Headers . Add ( "Authorization" , "OAuth " + m_APIToken . Replace ( "oauth:" , "" ) ) ;
275- }
276- catch
277- {
278-
262+ l_WebClient . SetHeader ( "Authorization" , "OAuth " + m_APIToken . Replace ( "oauth:" , "" ) ) ;
279263 }
264+ catch { }
280265
281266 l_WebClient . GetAsync ( "https://id.twitch.tv/oauth2/validate" , CancellationToken . None , ( p_Result ) =>
282267 {
@@ -354,14 +339,8 @@ public void CreatePoll(Helix_CreatePoll p_Poll, Action<TwitchHelixResult, Helix_
354339 }
355340
356341 p_Poll . broadcaster_id = m_BroadcasterID ;
357- var l_ContentStr = new StringContent ( JsonConvert . SerializeObject ( p_Poll ) , Encoding . UTF8 ) ;
358-
359- #if DEBUG
360- ChatPlexSDK . Logger . Debug ( "[CP_SDK.Chat.Service.Twitch][TwitchHelix.CreatePoll] Sending:" ) ;
361- ChatPlexSDK . Logger . Debug ( JsonConvert . SerializeObject ( p_Poll , Formatting . Indented ) ) ;
362- #endif
363342
364- m_WebClient . PostAsync ( "polls" , l_ContentStr , "application/json" , CancellationToken . None , ( p_Result ) =>
343+ m_WebClient . PostAsync ( "polls" , Network . WebContent . FromJson ( p_Poll ) , CancellationToken . None , ( p_Result ) =>
365344 {
366345#if DEBUG
367346 if ( p_Result != null )
@@ -469,14 +448,7 @@ public void EndPoll(Helix_Poll p_Poll, Helix_Poll.Status p_EndStatus, Action<Twi
469448 [ "status" ] = ( p_EndStatus == Helix_Poll . Status . ARCHIVED ? p_EndStatus : Helix_Poll . Status . TERMINATED ) . ToString ( )
470449 } ;
471450
472- var l_ContentStr = new StringContent ( JsonConvert . SerializeObject ( l_Content ) , Encoding . UTF8 ) ;
473-
474- #if DEBUG
475- ChatPlexSDK . Logger . Debug ( "[CP_SDK.Chat.Service.Twitch][TwitchHelix.EndPoll] Sending:" ) ;
476- ChatPlexSDK . Logger . Debug ( JsonConvert . SerializeObject ( l_Content , Formatting . Indented ) ) ;
477- #endif
478-
479- m_WebClient . PatchAsync ( "polls" , l_ContentStr , "application/json" , CancellationToken . None , ( p_Result ) =>
451+ m_WebClient . PatchAsync ( "polls" , Network . WebContent . FromJson ( l_Content ) , CancellationToken . None , ( p_Result ) =>
480452 {
481453#if DEBUG
482454 if ( p_Result != null )
@@ -639,9 +611,7 @@ public void EndPrediction(string p_ID, Helix_Prediction.Status p_Status, string
639611 if ( p_Status == Helix_Prediction . Status . RESOLVED )
640612 l_Body [ "winning_outcome_id" ] = p_WinningOutcomeID ;
641613
642- var l_ContentStr = new StringContent ( l_Body . ToString ( Formatting . None ) , Encoding . UTF8 ) ;
643-
644- m_WebClient . PatchAsync ( "predictions" , l_ContentStr , "application/json" , CancellationToken . None , ( p_Result ) =>
614+ m_WebClient . PatchAsync ( "predictions" , Network . WebContent . FromJson ( l_Body ) , CancellationToken . None , ( p_Result ) =>
645615 {
646616#if DEBUG
647617 if ( p_Result != null )
@@ -693,8 +663,7 @@ public void CreateClip(Action<TwitchHelixResult, Helix_CreateClip> p_Callback)
693663 return ;
694664 }
695665
696- var l_ContentStr = new StringContent ( "{}" , Encoding . UTF8 ) ;
697- m_WebClient . PostAsync ( "clips?broadcaster_id=" + m_BroadcasterID , l_ContentStr , "application/json" , CancellationToken . None , ( p_Result ) =>
666+ m_WebClient . PostAsync ( "clips?broadcaster_id=" + m_BroadcasterID , Network . WebContent . FromJson ( new JObject ( ) ) , CancellationToken . None , ( p_Result ) =>
698667 {
699668#if DEBUG
700669 if ( p_Result != null )
@@ -753,9 +722,7 @@ public void CreateMarker(string p_MarkerName, Action<TwitchHelixResult> p_Callba
753722 [ "description" ] = p_MarkerName . Length > 140 ? p_MarkerName . Substring ( 0 , 140 ) : p_MarkerName
754723 } ;
755724
756- var l_ContentStr = new StringContent ( JsonConvert . SerializeObject ( l_Content ) , Encoding . UTF8 ) ;
757-
758- m_WebClient . PostAsync ( "streams/markers" , l_ContentStr , "application/json" , CancellationToken . None , ( p_Result ) =>
725+ m_WebClient . PostAsync ( "streams/markers" , Network . WebContent . FromJson ( l_Content ) , CancellationToken . None , ( p_Result ) =>
759726 {
760727#if DEBUG
761728 if ( p_Result != null )
0 commit comments