Skip to content

Commit

Permalink
Update to use http extension methods on SS.Text
Browse files Browse the repository at this point in the history
  • Loading branch information
mythz committed Mar 18, 2013
1 parent 67db46f commit 770d69a
Show file tree
Hide file tree
Showing 22 changed files with 847 additions and 983 deletions.
Binary file modified NuGet/ServiceStack.Razor/lib/net40/ServiceStack.Razor.dll
Binary file not shown.
Binary file modified NuGet/ServiceStack.Razor/lib/net40/ServiceStack.Razor.pdb
Binary file not shown.
Binary file modified lib/ServiceStack.Common.dll
Binary file not shown.
Binary file modified lib/ServiceStack.Interfaces.dll
Binary file not shown.
1,182 changes: 591 additions & 591 deletions lib/ServiceStack.Redis.XML

Large diffs are not rendered by default.

Binary file modified lib/ServiceStack.Redis.dll
Binary file not shown.
437 changes: 221 additions & 216 deletions lib/ServiceStack.Text.XML

Large diffs are not rendered by default.

Binary file modified lib/ServiceStack.Text.dll
Binary file not shown.
145 changes: 0 additions & 145 deletions src/ServiceStack.Common/ServiceClient.Web/WebRequestExtensions.cs
Expand Up @@ -14,151 +14,6 @@ public static class WebRequestExtensions
{
private static readonly ILog Log = LogManager.GetLogger(typeof (WebRequestExtensions));

public static string DownloadJsonFromUrl(this string url)
{
return url.DownloadUrl(acceptContentType: ContentType.Json);
}

public static string DownloadXmlFromUrl(this string url)
{
return url.DownloadUrl(acceptContentType: ContentType.Xml);
}

public static string DownloadCsvFromUrl(this string url)
{
return url.DownloadUrl(acceptContentType: ContentType.Csv);
}

public static string DownloadUrl(this string url,
string httpMethod = null,
string postData = null,
string contentType = null,
string acceptContentType = null,
Action<HttpWebRequest> requestFilter = null,
Action<HttpWebResponse> responseFilter = null)
{
var bytesRequest = postData != null ? postData.ToUtf8Bytes() : null;

var bytesResponse = DownloadBytesFromUrl(url, httpMethod,
bytesRequest, contentType, acceptContentType, requestFilter, responseFilter);

var text = bytesResponse.FromUtf8Bytes();
return text;
}

public static string DownloadUrl(this string url, Encoding encoding,
string httpMethod = null,
string postData = null,
string contentType = null,
string acceptContentType = null,
Action<HttpWebRequest> requestFilter = null,
Action<HttpWebResponse> responseFilter = null)
{
if (encoding == null)
encoding = Encoding.UTF8;

var bytesRequest = postData != null ? encoding.GetBytes(postData) : null;

var bytesResponse = DownloadBytesFromUrl(url, httpMethod,
bytesRequest, contentType, acceptContentType, requestFilter, responseFilter);

var text = encoding.GetString(bytesResponse);
return text;
}

public static byte[] DownloadBytesFromUrl(this string url,
string httpMethod = null,
byte[] postData = null,
string contentType = null,
string acceptContentType = null,
Action<HttpWebRequest> requestFilter = null,
Action<HttpWebResponse> responseFilter = null)
{
var webReq = (HttpWebRequest)WebRequest.Create(url);
if (httpMethod != null)
webReq.Method = httpMethod;
if (contentType != null)
webReq.ContentType = contentType;
if (acceptContentType != null)
webReq.Accept = acceptContentType;
if (requestFilter != null)
requestFilter(webReq);

try
{
if (postData != null)
{
using (var req = webReq.GetRequestStream())
req.Write(postData, 0, postData.Length);
}
}
catch (Exception ex)
{
Log.Error("Error sending Request: " + ex.Message, ex);
throw;
}

using (var webRes = webReq.GetResponse())
{
if (responseFilter != null)
responseFilter((HttpWebResponse)webRes);

using (var stream = webRes.GetResponseStream())
{
return stream.ReadFully();
}
}
}

public static string PostJsonToUrl(this string url, string data)
{
return SendToUrl(url, HttpMethods.Post, Encoding.UTF8.GetBytes(data), ContentType.Json, ContentType.Json);
}

public static string PostJsonToUrl(this string url, object data)
{
return SendToUrl(url, HttpMethods.Post, Encoding.UTF8.GetBytes(data.ToJson()), ContentType.Json, ContentType.Json);
}

public static string PostToUrl(this string url, string data, string requestContentType = null, string acceptContentType = null)
{
return SendToUrl(url, HttpMethods.Post, Encoding.UTF8.GetBytes(data), requestContentType, acceptContentType);
}

public static string PutToUrl(this string url, string data, string requestContentType = null, string acceptContentType = null)
{
return SendToUrl(url, HttpMethods.Put, Encoding.UTF8.GetBytes(data), requestContentType, acceptContentType);
}

public static string PostToUrl(this string url, byte[] data, string requestContentType = null, string acceptContentType = null)
{
return SendToUrl(url, HttpMethods.Post, data, requestContentType, acceptContentType);
}

public static string PutToUrl(this string url, byte[] data, string requestContentType = null, string acceptContentType = null)
{
return SendToUrl(url, HttpMethods.Put, data, requestContentType, acceptContentType);
}

public static string SendToUrl(this string url, string httpMethod, byte[] data, string requestContentType = null, string acceptContentType = null)
{
var responseBytes = url.DownloadBytesFromUrl(
httpMethod: httpMethod,
postData: data,
contentType: requestContentType,
acceptContentType: acceptContentType);

var text = responseBytes.FromUtf8Bytes();
return text;
}

public static string DownloadAsString(this string url)
{
var webReq = WebRequest.Create(url);
using (var webRes = webReq.GetResponse())
return DownloadText(webRes);
}

public static string DownloadText(this WebResponse webRes)
{
using (var stream = webRes.GetResponseStream())
Expand Down
Expand Up @@ -48,7 +48,7 @@ public override object Authenticate(IServiceBase authService, IAuthSession sessi

try
{
var contents = accessTokenUrl.DownloadUrl();
var contents = accessTokenUrl.GetStringFromUrl();
var authInfo = HttpUtility.ParseQueryString(contents);
tokens.AccessTokenSecret = authInfo["access_token"];
session.IsAuthenticated = true;
Expand Down
4 changes: 2 additions & 2 deletions src/ServiceStack.ServiceInterface/Auth/IAuthHttpGateway.cs
Expand Up @@ -21,7 +21,7 @@ public string DownloadTwitterUserInfo(string twitterUserId)
twitterUserId.ThrowIfNullOrEmpty("twitterUserId");

var url = TwitterUserUrl.Fmt(twitterUserId);
var json = url.DownloadUrl();
var json = url.GetStringFromUrl();
return json;
}

Expand All @@ -30,7 +30,7 @@ public string DownloadFacebookUserInfo(string facebookCode)
facebookCode.ThrowIfNullOrEmpty("facebookCode");

var url = FacebookUserUrl.Fmt(facebookCode);
var json = url.DownloadUrl();
var json = url.GetStringFromUrl();
return json;
}
}
Expand Down
Expand Up @@ -78,7 +78,7 @@ private static string GetRazorInstanceHtml()
public void Assert200(string url, params string[] containsItems)
{
url.Print();
var text = url.GetStringFromUrl(AcceptContentType, r => {
var text = url.GetStringFromUrl(AcceptContentType, responseFilter:r => {
if (r.StatusCode != HttpStatusCode.OK)
Assert.Fail(url + " did not return 200 OK");
});
Expand All @@ -94,7 +94,7 @@ public void Assert200(string url, params string[] containsItems)
public void Assert200UrlContentType(string url, string contentType)
{
url.Print();
url.GetStringFromUrl(AcceptContentType, r => {
url.GetStringFromUrl(AcceptContentType, responseFilter:r => {
if (r.StatusCode != HttpStatusCode.OK)
Assert.Fail(url + " did not return 200 OK: " + r.StatusCode);
if (!r.ContentType.StartsWith(contentType))
Expand Down
6 changes: 3 additions & 3 deletions tests/RazorRockstars.Web/RazorRockstars_WebTests.cs
Expand Up @@ -37,7 +37,7 @@ public void AssertStatus(string url, HttpStatusCode statusCode)
url.Print();
try
{
var text = url.GetStringFromUrl(AcceptContentType, r => {
var text = url.GetStringFromUrl(AcceptContentType, responseFilter: r => {
if (r.StatusCode != statusCode)
Assert.Fail("'{0}' returned {1} expected {2}".Fmt(url, r.StatusCode, statusCode));
});
Expand All @@ -62,7 +62,7 @@ public void Assert200(string url, params string[] containsItems)
try
{
Debug.WriteLine(url);
var text = url.GetStringFromUrl(AcceptContentType, r => {
var text = url.GetStringFromUrl(AcceptContentType, responseFilter: r => {
if (r.StatusCode != HttpStatusCode.OK)
Assert.Fail(url + " did not return 200 OK");
});
Expand All @@ -88,7 +88,7 @@ public void Assert200(string url, params string[] containsItems)
public void Assert200UrlContentType(string url, string contentType)
{
url.Print();
url.GetStringFromUrl(AcceptContentType, r => {
url.GetStringFromUrl(AcceptContentType, responseFilter: r => {
if (r.StatusCode != HttpStatusCode.OK)
Assert.Fail(url + " did not return 200 OK: " + r.StatusCode);
if (!r.ContentType.StartsWith(contentType))
Expand Down
Expand Up @@ -3,6 +3,7 @@
using ServiceStack.Logging;
using ServiceStack.Logging.Support.Logging;
using ServiceStack.ServiceClient.Web;
using ServiceStack.Text;
using ServiceStack.WebHost.Endpoints.Tests.Support.Host;

namespace ServiceStack.WebHost.Endpoints.Tests
Expand Down Expand Up @@ -41,7 +42,7 @@ public void Dispose()
[Test]
public void Actually_uses_the_BclJsonSerializers()
{
var json = (ListeningOn + "login/user/pass").DownloadJsonFromUrl();
var json = (ListeningOn + "login/user/pass").GetJsonFromUrl();

Console.WriteLine(json);
Assert.That(json, Is.EqualTo("{\"pwd\":\"pass\",\"uname\":\"user\"}"));
Expand Down
Expand Up @@ -46,21 +46,21 @@ public void OnTestFixtureTearDown()
[Test]
public void Root_path_redirects_to_metadata_page()
{
var html = ListeningOn.DownloadUrl();
var html = ListeningOn.GetStringFromUrl();
Assert.That(html.Contains("The following operations are supported."));
}

[Test]
public void Can_download_webpage_html_page()
{
var html = (ListeningOn + "webpage.html").DownloadUrl();
var html = (ListeningOn + "webpage.html").GetStringFromUrl();
Assert.That(html.Contains("Default index ServiceStack.WebHost.Endpoints.Tests page"));
}

[Test]
public void Can_download_requestinfo_json()
{
var html = (ListeningOn + "_requestinfo").DownloadUrl();
var html = (ListeningOn + "_requestinfo").GetStringFromUrl();
Assert.That(html.Contains("\"Host\":"));
}

Expand Down Expand Up @@ -189,8 +189,8 @@ public void PerformanceTest()
for (int i = 0; i < clientCount; i++)
{
threads.Add(new Thread(() => {
var html = (ListeningOn + "long_running").DownloadUrl();
}));
var html = (ListeningOn + "long_running").GetStringFromUrl();
}));
}

var sw = new Stopwatch();
Expand Down
Expand Up @@ -49,21 +49,21 @@ public void OnTestFixtureTearDown()
[Test]
public void Root_path_redirects_to_metadata_page()
{
var html = ListeningOn.DownloadUrl();
var html = ListeningOn.GetStringFromUrl();
Assert.That(html.Contains("The following operations are supported."));
}

[Test]
public void Can_download_webpage_html_page()
{
var html = (ListeningOn + "webpage.html").DownloadUrl();
var html = (ListeningOn + "webpage.html").GetStringFromUrl();
Assert.That(html.Contains("Default index ServiceStack.WebHost.Endpoints.Tests page"));
}

[Test]
public void Can_download_requestinfo_json()
{
var html = (ListeningOn + "_requestinfo").DownloadUrl();
var html = (ListeningOn + "_requestinfo").GetStringFromUrl();
Assert.That(html.Contains("\"Host\":"));
}

Expand Down Expand Up @@ -191,7 +191,7 @@ public void PerformanceTest()
for (int i = 0; i < clientCount; i++)
{
threads.Add(new Thread(() => {
var html = (ListeningOn + "long_running").DownloadUrl();
var html = (ListeningOn + "long_running").GetStringFromUrl();
}));
}

Expand Down
Expand Up @@ -3,6 +3,7 @@
using ServiceStack.Plugins.ProtoBuf;
using ServiceStack.ServiceClient.Web;
using ServiceStack.ServiceInterface;
using ServiceStack.Text;
using ServiceStack.WebHost.Endpoints.Tests.Support.Host;

namespace ServiceStack.WebHost.Endpoints.Tests
Expand Down Expand Up @@ -50,7 +51,7 @@ public void Can_call_Cached_WebService_with_ProtoBuf()
public void Can_call_Cached_WebService_with_JSONP()
{
var url = Config.ServiceStackBaseUri.CombineWith("/cached/movies?callback=cb");
var jsonp = url.DownloadJsonFromUrl();
var jsonp = url.GetJsonFromUrl();
Assert.That(jsonp.StartsWith("cb("));
}
}
Expand Down
Expand Up @@ -75,7 +75,7 @@ public void Does_use_request_binder_for_GET()
[Test]
public void Does_use_request_binder_for_predefined_GET()
{
var responseStr = predefinedUrl.DownloadJsonFromUrl();
var responseStr = predefinedUrl.GetJsonFromUrl();
Console.WriteLine(responseStr);
var response = responseStr.FromJson<CustomRequestBinderResponse>();
Assert.That(response.FromBinder);
Expand All @@ -85,7 +85,7 @@ public void Does_use_request_binder_for_predefined_GET()
public void Does_use_request_binder_for_predefined_GET_with_QueryString()
{
var customUrlWithQueryString = customUrl + "?IsFromBinder=false";
var responseStr = customUrlWithQueryString.DownloadJsonFromUrl();
var responseStr = customUrlWithQueryString.GetJsonFromUrl();
Console.WriteLine(responseStr);
var response = responseStr.FromJson<CustomRequestBinderResponse>();
Assert.That(response.FromBinder);
Expand All @@ -108,7 +108,7 @@ public void Does_use_request_binder_for_POST()
[Test]
public void Does_use_request_binder_for_POST_FormData()
{
var responseStr = customUrl.PostToUrl("IsFromBinder=false", ContentType.FormUrlEncoded, ContentType.Json);
var responseStr = customUrl.PostToUrl("IsFromBinder=false", acceptContentType:ContentType.Json);
Console.WriteLine(responseStr);
var response = responseStr.FromJson<CustomRequestBinderResponse>();
Assert.That(response.FromBinder);
Expand All @@ -117,7 +117,7 @@ public void Does_use_request_binder_for_POST_FormData()
[Test]
public void Does_use_request_binder_for_POST_FormData_without_ContentType()
{
var responseStr = customUrl.PostToUrl("{\"IsFromBinder\":false}", ContentType.Json, ContentType.Json);
var responseStr = customUrl.PostJsonToUrl("{\"IsFromBinder\":false}");
Console.WriteLine(responseStr);
var response = responseStr.FromJson<CustomRequestBinderResponse>();
Assert.That(response.FromBinder);
Expand All @@ -144,7 +144,7 @@ public void Does_use_request_binder_for_predefined_POST()
[Test]
public void Does_use_request_binder_for_predefined_POST_FormData()
{
var responseStr = predefinedUrl.PostToUrl("k=v", ContentType.FormUrlEncoded, ContentType.Json);
var responseStr = predefinedUrl.PostToUrl("k=v", acceptContentType: ContentType.Json);
Console.WriteLine(responseStr);
var response = responseStr.FromJson<CustomRequestBinderResponse>();
Assert.That(response.FromBinder);
Expand Down
@@ -1,6 +1,7 @@
using System.Net;
using NUnit.Framework;
using ServiceStack.ServiceClient.Web;
using ServiceStack.Text;

namespace ServiceStack.WebHost.IntegrationTests.Tests
{
Expand All @@ -15,14 +16,14 @@ public class AppHostBaseTests
[Test]
public void Root_path_redirects_to_metadata_page()
{
var html = Config.ServiceStackBaseUri.DownloadUrl();
var html = Config.ServiceStackBaseUri.GetStringFromUrl();
Assert.That(html.Contains("The following operations are supported."));
}

[Test]
public void Can_download_webpage_html_page()
{
var html = (BasePath + "webpage.html").DownloadUrl();
var html = (BasePath + "webpage.html").GetStringFromUrl();
Assert.That(html.Contains("Default index ServiceStack.WebHost.Endpoints.Tests page"));
}

Expand Down

0 comments on commit 770d69a

Please sign in to comment.