12
12
13
13
namespace RedditSharp
14
14
{
15
- public sealed class WebAgent : IWebAgent
15
+ public class WebAgent : IWebAgent
16
16
{
17
17
/// <summary>
18
18
/// Additional values to append to the default RedditSharp user agent.
@@ -96,7 +96,7 @@ public int RequestsThisBurst
96
96
}
97
97
98
98
99
- public JToken CreateAndExecuteRequest ( string url )
99
+ public virtual JToken CreateAndExecuteRequest ( string url )
100
100
{
101
101
Uri uri ;
102
102
if ( ! Uri . TryCreate ( url , UriKind . Absolute , out uri ) )
@@ -124,7 +124,7 @@ public JToken CreateAndExecuteRequest(string url)
124
124
/// </summary>
125
125
/// <param name="request"></param>
126
126
/// <returns></returns>
127
- public JToken ExecuteRequest ( HttpWebRequest request )
127
+ public virtual JToken ExecuteRequest ( HttpWebRequest request )
128
128
{
129
129
EnforceRateLimit ( ) ;
130
130
HttpWebResponse response = ( HttpWebResponse ) request . GetResponse ( ) ;
@@ -169,7 +169,7 @@ public JToken ExecuteRequest(HttpWebRequest request)
169
169
}
170
170
171
171
[ MethodImpl ( MethodImplOptions . Synchronized ) ]
172
- private static void EnforceRateLimit ( )
172
+ protected virtual void EnforceRateLimit ( )
173
173
{
174
174
switch ( RateLimit )
175
175
{
@@ -213,7 +213,7 @@ private static void EnforceRateLimit()
213
213
}
214
214
}
215
215
216
- public HttpWebRequest CreateRequest ( string url , string method )
216
+ public virtual HttpWebRequest CreateRequest ( string url , string method )
217
217
{
218
218
EnforceRateLimit ( ) ;
219
219
bool prependDomain ;
@@ -243,7 +243,7 @@ public HttpWebRequest CreateRequest(string url, string method)
243
243
return request ;
244
244
}
245
245
246
- private HttpWebRequest CreateRequest ( Uri uri , string method )
246
+ protected virtual HttpWebRequest CreateRequest ( Uri uri , string method )
247
247
{
248
248
EnforceRateLimit ( ) ;
249
249
var request = ( HttpWebRequest ) WebRequest . Create ( uri ) ;
@@ -262,7 +262,7 @@ private HttpWebRequest CreateRequest(Uri uri, string method)
262
262
return request ;
263
263
}
264
264
265
- public HttpWebRequest CreateGet ( string url )
265
+ public virtual HttpWebRequest CreateGet ( string url )
266
266
{
267
267
return CreateRequest ( url , "GET" ) ;
268
268
}
@@ -272,21 +272,21 @@ private HttpWebRequest CreateGet(Uri url)
272
272
return CreateRequest ( url , "GET" ) ;
273
273
}
274
274
275
- public HttpWebRequest CreatePost ( string url )
275
+ public virtual HttpWebRequest CreatePost ( string url )
276
276
{
277
277
var request = CreateRequest ( url , "POST" ) ;
278
278
request . ContentType = "application/x-www-form-urlencoded" ;
279
279
return request ;
280
280
}
281
281
282
- public string GetResponseString ( Stream stream )
282
+ public virtual string GetResponseString ( Stream stream )
283
283
{
284
284
var data = new StreamReader ( stream ) . ReadToEnd ( ) ;
285
285
stream . Close ( ) ;
286
286
return data ;
287
287
}
288
288
289
- public void WritePostBody ( Stream stream , object data , params string [ ] additionalFields )
289
+ public virtual void WritePostBody ( Stream stream , object data , params string [ ] additionalFields )
290
290
{
291
291
var type = data . GetType ( ) ;
292
292
var properties = type . GetProperties ( BindingFlags . Instance | BindingFlags . NonPublic | BindingFlags . Public ) ;
0 commit comments