Skip to content

Commit d7ba4a6

Browse files
committed
Merge pull request #224 from SmithsonianDSP/webagent-changes
Modify WebAgent to be Inheritable
2 parents 08e90f6 + 2a807a9 commit d7ba4a6

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

RedditSharp/WebAgent.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
namespace RedditSharp
1414
{
15-
public sealed class WebAgent : IWebAgent
15+
public class WebAgent : IWebAgent
1616
{
1717
/// <summary>
1818
/// Additional values to append to the default RedditSharp user agent.
@@ -96,7 +96,7 @@ public int RequestsThisBurst
9696
}
9797

9898

99-
public JToken CreateAndExecuteRequest(string url)
99+
public virtual JToken CreateAndExecuteRequest(string url)
100100
{
101101
Uri uri;
102102
if (!Uri.TryCreate(url, UriKind.Absolute, out uri))
@@ -124,7 +124,7 @@ public JToken CreateAndExecuteRequest(string url)
124124
/// </summary>
125125
/// <param name="request"></param>
126126
/// <returns></returns>
127-
public JToken ExecuteRequest(HttpWebRequest request)
127+
public virtual JToken ExecuteRequest(HttpWebRequest request)
128128
{
129129
EnforceRateLimit();
130130
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
@@ -169,7 +169,7 @@ public JToken ExecuteRequest(HttpWebRequest request)
169169
}
170170

171171
[MethodImpl(MethodImplOptions.Synchronized)]
172-
private static void EnforceRateLimit()
172+
protected virtual void EnforceRateLimit()
173173
{
174174
switch (RateLimit)
175175
{
@@ -213,7 +213,7 @@ private static void EnforceRateLimit()
213213
}
214214
}
215215

216-
public HttpWebRequest CreateRequest(string url, string method)
216+
public virtual HttpWebRequest CreateRequest(string url, string method)
217217
{
218218
EnforceRateLimit();
219219
bool prependDomain;
@@ -243,7 +243,7 @@ public HttpWebRequest CreateRequest(string url, string method)
243243
return request;
244244
}
245245

246-
private HttpWebRequest CreateRequest(Uri uri, string method)
246+
protected virtual HttpWebRequest CreateRequest(Uri uri, string method)
247247
{
248248
EnforceRateLimit();
249249
var request = (HttpWebRequest)WebRequest.Create(uri);
@@ -262,7 +262,7 @@ private HttpWebRequest CreateRequest(Uri uri, string method)
262262
return request;
263263
}
264264

265-
public HttpWebRequest CreateGet(string url)
265+
public virtual HttpWebRequest CreateGet(string url)
266266
{
267267
return CreateRequest(url, "GET");
268268
}
@@ -272,21 +272,21 @@ private HttpWebRequest CreateGet(Uri url)
272272
return CreateRequest(url, "GET");
273273
}
274274

275-
public HttpWebRequest CreatePost(string url)
275+
public virtual HttpWebRequest CreatePost(string url)
276276
{
277277
var request = CreateRequest(url, "POST");
278278
request.ContentType = "application/x-www-form-urlencoded";
279279
return request;
280280
}
281281

282-
public string GetResponseString(Stream stream)
282+
public virtual string GetResponseString(Stream stream)
283283
{
284284
var data = new StreamReader(stream).ReadToEnd();
285285
stream.Close();
286286
return data;
287287
}
288288

289-
public void WritePostBody(Stream stream, object data, params string[] additionalFields)
289+
public virtual void WritePostBody(Stream stream, object data, params string[] additionalFields)
290290
{
291291
var type = data.GetType();
292292
var properties = type.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);

0 commit comments

Comments
 (0)