summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2013-03-19 21:48:49 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2013-03-19 21:48:49 -0700
commitb117db5327ee30aae7d2ec8e9172dca85e933848 (patch)
tree622375c2d4ac3be8b5ed8823daebc6d2c0c3afc4 /src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs
parent2eb59292e2a2f22866d95684606334845d8997e5 (diff)
downloadDotNetOpenAuth-b117db5327ee30aae7d2ec8e9172dca85e933848.zip
DotNetOpenAuth-b117db5327ee30aae7d2ec8e9172dca85e933848.tar.gz
DotNetOpenAuth-b117db5327ee30aae7d2ec8e9172dca85e933848.tar.bz2
Fixes the rest of the build breaks!
Diffstat (limited to 'src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs')
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs b/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs
index 1979cf4..2c1e64b 100644
--- a/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs
@@ -125,5 +125,33 @@ namespace DotNetOpenAuth.Test.Mocks {
return results.ToArray();
}
+
+ internal static CoordinatorBase.Handler RegisterMockResponse(Uri url, string contentType, string content) {
+ return CoordinatorBase.Handle(url).By(content, contentType);
+ }
+
+ internal static CoordinatorBase.Handler RegisterMockResponse(Uri requestUri, Uri responseUri, string contentType, string content) {
+ return RegisterMockResponse(requestUri, responseUri, contentType, null, content);
+ }
+
+ internal static CoordinatorBase.Handler RegisterMockResponse(Uri requestUri, Uri responseUri, string contentType, WebHeaderCollection headers, string content) {
+ return CoordinatorBase.Handle(requestUri).By(req => {
+ var response = new HttpResponseMessage();
+ response.CopyHeadersFrom(headers);
+ response.Content = new StringContent(content, Encoding.Default, contentType);
+ return response;
+ });
+ }
+
+ private static void CopyHeadersFrom(this HttpResponseMessage message, WebHeaderCollection headers) {
+ if (headers != null) {
+ foreach (string headerName in headers) {
+ string[] headerValues = headers.GetValues(headerName);
+ if (!message.Headers.TryAddWithoutValidation(headerName, headerValues)) {
+ message.Content.Headers.TryAddWithoutValidation(headerName, headerValues);
+ }
+ }
+ }
+ }
}
}