@@ -25,7 +25,7 @@ public class Reddit
25
25
private const string ComposeMessageUrl = "/api/compose" ;
26
26
private const string RegisterAccountUrl = "/api/register" ;
27
27
private const string GetThingUrl = "/api/info.json?id={0}" ;
28
- private const string GetCommentUrl = "/r/{0}/comments/{1}/foo/{2}.json " ;
28
+ private const string GetCommentUrl = "/r/{0}/comments/{1}/foo/{2}" ;
29
29
private const string GetPostUrl = "{0}.json" ;
30
30
private const string DomainUrl = "www.reddit.com" ;
31
31
private const string OAuthDomainUrl = "oauth.reddit.com" ;
@@ -322,18 +322,28 @@ public Comment GetComment(string subreddit, string name, string linkName)
322
322
linkName = linkName . Substring ( 3 ) ;
323
323
if ( name . StartsWith ( "t1_" ) )
324
324
name = name . Substring ( 3 ) ;
325
- var request = _webAgent . CreateGet ( string . Format ( GetCommentUrl , subreddit , linkName , name ) ) ;
326
- var response = request . GetResponse ( ) ;
327
- var data = _webAgent . GetResponseString ( response . GetResponseStream ( ) ) ;
328
- var json = JToken . Parse ( data ) ;
329
- return Thing . Parse ( this , json [ 1 ] [ "data" ] [ "children" ] [ 0 ] , _webAgent ) as Comment ;
325
+
326
+ var url = string . Format ( GetCommentUrl , subreddit , linkName , name ) ;
327
+ return GetComment ( new Uri ( url ) ) ;
330
328
}
331
329
catch ( WebException )
332
330
{
333
331
return null ;
334
332
}
335
333
}
336
334
335
+ public Comment GetComment ( Uri uri )
336
+ {
337
+ var url = string . Format ( GetPostUrl , uri . AbsoluteUri ) ;
338
+ var request = _webAgent . CreateGet ( url ) ;
339
+ var response = request . GetResponse ( ) ;
340
+ var data = _webAgent . GetResponseString ( response . GetResponseStream ( ) ) ;
341
+ var json = JToken . Parse ( data ) ;
342
+
343
+ var sender = new Post ( ) . Init ( this , json [ 0 ] [ "data" ] [ "children" ] [ 0 ] , _webAgent ) ;
344
+ return new Comment ( ) . Init ( this , json [ 1 ] [ "data" ] [ "children" ] [ 0 ] , _webAgent , sender ) ;
345
+ }
346
+
337
347
public Listing < T > SearchByUrl < T > ( string url ) where T : Thing
338
348
{
339
349
var urlSearchQuery = string . Format ( UrlSearchPattern , url ) ;
0 commit comments