summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId/Response.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenId/Response.cs')
-rw-r--r--src/DotNetOpenId/Response.cs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/DotNetOpenId/Response.cs b/src/DotNetOpenId/Response.cs
index 112aa4b..7616167 100644
--- a/src/DotNetOpenId/Response.cs
+++ b/src/DotNetOpenId/Response.cs
@@ -50,5 +50,20 @@ namespace DotNetOpenId {
HttpContext.Current.Response.OutputStream.Close();
HttpContext.Current.Response.End();
}
+
+ /// <summary>
+ /// Gets the indirect message as it would appear as a single URI request.
+ /// </summary>
+ internal Uri IndirectMessageAsRequestUri {
+ get {
+ if (EncodableMessage != null && EncodableMessage.RedirectUrl != null && EncodableMessage.EncodingType == EncodingType.IndirectMessage) {
+ UriBuilder builder = new UriBuilder(EncodableMessage.RedirectUrl);
+ UriUtil.AppendQueryArgs(builder, EncodableMessage.EncodedFields);
+ return builder.Uri;
+ } else {
+ throw new InvalidOperationException();
+ }
+ }
+ }
}
}