}
}
+ [Fact]
+ public async Task ExpandUrlHtmlAsync_RelativeUriTest()
+ {
+ var handler = new HttpMessageHandlerMock();
+ using (var http = new HttpClient(handler))
+ {
+ var shortUrl = new ShortUrl(http);
+
+ handler.Enqueue(x =>
+ {
+ // リクエストは送信されないはず
+ Assert.True(false);
+ return this.CreateRedirectResponse("http://example.com/hoge");
+ });
+
+ Assert.Equal("<a href=\"./hoge\">hogehoge</a>",
+ await shortUrl.ExpandUrlHtmlAsync("<a href=\"./hoge\">hogehoge</a>"));
+
+ Assert.Equal(1, handler.QueueCount);
+ }
+ }
+
private HttpResponseMessage CreateRedirectResponse(string uriStr)
{
var response = new HttpResponseMessage(HttpStatusCode.TemporaryRedirect);
* NEW: pic.twitter.com への複数枚画像の投稿に対応しました
- 投稿先に Twitter を選択し、左端のコンボボックスを切り替えることで、最大 4 枚まで選択可能です
- 投稿するファイルの数・サイズによっては、投稿完了までに若干の時間がかかります
+ * FIX: 一部クライアントから投稿されたツイートの読み込み時にエラーが発生する問題の修正
==== Ver 1.2.1(2014/05/26)
* NEW: 5月28日(太平洋夏時間, UTC-7)から追加される予定の pic.twitter.com の複数枚画像表示に対応しました
/// </summary>
/// <param name="uriStr">展開するURL</param>
/// <returns>URLの展開を行うタスク</returns>
- public async Task<string> ExpandUrlStrAsync(string uriStr)
+ public Task<string> ExpandUrlStrAsync(string uriStr)
+ {
+ return this.ExpandUrlStrAsync(uriStr, 10);
+ }
+
+ /// <summary>
+ /// 短縮 URL を非同期に展開します
+ /// </summary>
+ /// <param name="uriStr">展開するURL</param>
+ /// <param name="redirectLimit">再帰的に展開を試みる上限</param>
+ /// <returns>URLの展開を行うタスク</returns>
+ public async Task<string> ExpandUrlStrAsync(string uriStr, int redirectLimit)
{
Uri uri;
return uriStr;
}
- var expandedUri = await this.ExpandUrlAsync(uri, 10)
+ var expandedUri = await this.ExpandUrlAsync(uri, redirectLimit)
.ConfigureAwait(false);
return expandedUri.OriginalString;
return Task.FromResult(html);
return HtmlLinkPattern.ReplaceAsync(html, async m =>
- m.Groups[1].Value + await this.ExpandUrlAsync(new Uri(m.Groups[2].Value), redirectLimit).ConfigureAwait(false) + m.Groups[3].Value);
+ m.Groups[1].Value + await this.ExpandUrlStrAsync(m.Groups[2].Value, redirectLimit).ConfigureAwait(false) + m.Groups[3].Value);
}
/// <summary>