summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs')
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs b/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs
deleted file mode 100644
index b38a3d8..0000000
--- a/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-//-----------------------------------------------------------------------
-// <copyright file="TestWebRequestHandler.cs" company="Outercurve Foundation">
-// Copyright (c) Outercurve Foundation. All rights reserved.
-// </copyright>
-//-----------------------------------------------------------------------
-
-namespace DotNetOpenAuth.Test.Mocks {
- using System;
- using System.IO;
- using System.Net;
- using System.Text;
- using DotNetOpenAuth.Messaging;
- using DotNetOpenAuth.OAuth.ChannelElements;
-
- internal class TestWebRequestHandler : IDirectWebRequestHandler {
- private Stream postEntity;
-
- /// <summary>
- /// Gets or sets the callback used to provide the mock response for the mock request.
- /// </summary>
- internal Func<HttpWebRequest, IncomingWebResponse> Callback { get; set; }
-
- /// <summary>
- /// Gets the stream that was written out as if on an HTTP request.
- /// </summary>
- internal Stream RequestEntityStream {
- get {
- if (this.postEntity == null) {
- return null;
- }
-
- Stream result = new MemoryStream();
- long originalPosition = this.postEntity.Position;
- this.postEntity.Position = 0;
- this.postEntity.CopyTo(result);
- this.postEntity.Position = originalPosition;
- result.Position = 0;
- return result;
- }
- }
-
- /// <summary>
- /// Gets the stream that was written out as if on an HTTP request as an ordinary string.
- /// </summary>
- internal string RequestEntityAsString {
- get {
- if (this.postEntity == null) {
- return null;
- }
-
- StreamReader reader = new StreamReader(this.RequestEntityStream);
- return reader.ReadToEnd();
- }
- }
-
- #region IWebRequestHandler Members
-
- public bool CanSupport(DirectWebRequestOptions options) {
- return true;
- }
-
- /// <summary>
- /// Prepares an <see cref="HttpWebRequest"/> that contains an POST entity for sending the entity.
- /// </summary>
- /// <param name="request">The <see cref="HttpWebRequest"/> that should contain the entity.</param>
- /// <returns>
- /// The writer the caller should write out the entity data to.
- /// </returns>
- public Stream GetRequestStream(HttpWebRequest request) {
- return this.GetRequestStream(request, DirectWebRequestOptions.None);
- }
-
- public Stream GetRequestStream(HttpWebRequest request, DirectWebRequestOptions options) {
- this.postEntity = new MemoryStream();
- return this.postEntity;
- }
-
- /// <summary>
- /// Processes an <see cref="HttpWebRequest"/> and converts the
- /// <see cref="HttpWebResponse"/> to a <see cref="Response"/> instance.
- /// </summary>
- /// <param name="request">The <see cref="HttpWebRequest"/> to handle.</param>
- /// <returns>
- /// An instance of <see cref="Response"/> describing the response.
- /// </returns>
- public IncomingWebResponse GetResponse(HttpWebRequest request) {
- return this.GetResponse(request, DirectWebRequestOptions.None);
- }
-
- public IncomingWebResponse GetResponse(HttpWebRequest request, DirectWebRequestOptions options) {
- if (this.Callback == null) {
- throw new InvalidOperationException("Set the Callback property first.");
- }
-
- return this.Callback(request);
- }
-
- #endregion
-
- #region IDirectSslWebRequestHandler Members
-
- public Stream GetRequestStream(HttpWebRequest request, bool requireSsl) {
- ErrorUtilities.VerifyProtocol(!requireSsl || request.RequestUri.Scheme == Uri.UriSchemeHttps, "disallowed request");
- return this.GetRequestStream(request);
- }
-
- public IncomingWebResponse GetResponse(HttpWebRequest request, bool requireSsl) {
- ErrorUtilities.VerifyProtocol(!requireSsl || request.RequestUri.Scheme == Uri.UriSchemeHttps, "disallowed request");
- var result = this.GetResponse(request);
- ErrorUtilities.VerifyProtocol(!requireSsl || result.FinalUri.Scheme == Uri.UriSchemeHttps, "disallowed request");
- return result;
- }
-
- #endregion
- }
-}