+ internal bool MapRequestHandlerDone {
+ get;
+ set;
+ }
+
+ // The two properties below are defined only when the IIS7 integrated mode is used.
+ // They are useless under Mono
+ public RequestNotification CurrentNotification {
+ get { throw new PlatformNotSupportedException ("This property is not supported on Mono."); }
+ }
+
+ public bool IsPostNotification {
+ get { throw new PlatformNotSupportedException ("This property is not supported on Mono."); }
+ }
+
+ internal void PushHandler (IHttpHandler handler)
+ {
+ if (handler == null)
+ return;
+ if (handlers == null)
+ handlers = new LinkedList <IHttpHandler> ();
+ handlers.AddLast (handler);
+ }
+
+ internal void PopHandler ()
+ {
+ if (handlers == null || handlers.Count == 0)
+ return;
+ handlers.RemoveLast ();
+ }
+
+ IHttpHandler GetCurrentHandler ()
+ {
+ if (handlers == null || handlers.Count == 0)
+ return null;
+
+ return handlers.Last.Value;
+ }
+
+ IHttpHandler GetPreviousHandler ()
+ {
+ if (handlers == null || handlers.Count <= 1)
+ return null;
+ LinkedListNode <IHttpHandler> previous = handlers.Last.Previous;
+ if (previous != null)
+ return previous.Value;
+ return null;
+ }
+