3a31754b9499cd72e224c49210e2c2bba832b5ee
[mono.git] / mcs / class / System.Web.Abstractions / System.Web / HttpRequestBase.cs
1 //
2 // HttpRequestBase.cs
3 //
4 // Author:
5 //      Atsushi Enomoto <atsushi@ximian.com>
6 //
7 // Copyright (C) 2008 Novell Inc. http://novell.com
8 //
9
10 //
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
18 // 
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
21 // 
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 using System;
31 using System.Collections;
32 using System.Collections.Generic;
33 using System.Collections.Specialized;
34 using System.Globalization;
35 using System.IO;
36 using System.Runtime.CompilerServices;
37 using System.Runtime.Serialization;
38 using System.Security.Permissions;
39 using System.Security.Principal;
40 using System.Text;
41 using System.Web.Caching;
42
43 #if NET_4_0
44 using System.Security.Authentication.ExtendedProtection;
45 using System.Web.Routing;
46 #endif
47
48 namespace System.Web
49 {
50 #if NET_4_0
51         [TypeForwardedFrom ("System.Web.Abstractions, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
52 #endif
53         [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
54         [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
55         public abstract class HttpRequestBase
56         {
57                 void NotImplemented ()
58                 {
59                         throw new NotImplementedException ();
60                 }
61
62                 public virtual string [] AcceptTypes { get { NotImplemented (); return null; } }
63
64                 public virtual string AnonymousID { get { NotImplemented (); return null; } }
65
66                 public virtual string ApplicationPath { get { NotImplemented (); return null; } }
67
68                 public virtual string AppRelativeCurrentExecutionFilePath { get { NotImplemented (); return null; } }
69
70                 public virtual HttpBrowserCapabilitiesBase Browser { get { NotImplemented (); return null; } }
71
72                 public virtual HttpClientCertificate ClientCertificate { get { NotImplemented (); return null; } }
73
74                 public virtual Encoding ContentEncoding { get { NotImplemented (); return null; } set { NotImplemented (); } }
75
76                 public virtual int ContentLength { get { NotImplemented (); return 0; } }
77
78                 public virtual string ContentType { get { NotImplemented (); return null; } set { NotImplemented (); } }
79
80                 public virtual HttpCookieCollection Cookies { get { NotImplemented (); return null; } }
81
82                 public virtual string CurrentExecutionFilePath { get { NotImplemented (); return null; } }
83
84                 public virtual string FilePath { get { NotImplemented (); return null; } }
85
86                 public virtual HttpFileCollectionBase Files { get { NotImplemented (); return null; } }
87
88                 public virtual Stream Filter { get { NotImplemented (); return null; } set { NotImplemented (); } }
89
90                 public virtual NameValueCollection Form { get { NotImplemented (); return null; } }
91
92                 public virtual NameValueCollection Headers { get { NotImplemented (); return null; } }
93
94                 public virtual string HttpMethod { get { NotImplemented (); return null; } }
95
96                 public virtual Stream InputStream { get { NotImplemented (); return null; } }
97 #if NET_4_0
98                 // LAMESPEC: MSDN says NotImplementedException is thrown only when the request is
99                 // not IIS7WorkerRequest or ISAPIWorkerRequestInProc, but it is thrown always.
100                 public virtual ChannelBinding HttpChannelBinding { get { NotImplemented (); return null; } }
101 #endif
102                 public virtual bool IsAuthenticated { get { NotImplemented (); return false; } }
103
104                 public virtual bool IsLocal { get { NotImplemented (); return false; } }
105
106                 public virtual bool IsSecureConnection { get { NotImplemented (); return false; } }
107
108                 public virtual string this [string key] {
109                         get { throw new NotImplementedException (); }
110                 }
111
112                 public virtual WindowsIdentity LogonUserIdentity { get { NotImplemented (); return null; } }
113
114                 public virtual NameValueCollection Params { get { NotImplemented (); return null; } }
115
116                 public virtual string Path { get { NotImplemented (); return null; } }
117
118                 public virtual string PathInfo { get { NotImplemented (); return null; } }
119
120                 public virtual string PhysicalApplicationPath { get { NotImplemented (); return null; } }
121
122                 public virtual string PhysicalPath { get { NotImplemented (); return null; } }
123
124                 public virtual NameValueCollection QueryString { get { NotImplemented (); return null; } }
125
126                 public virtual string RawUrl { get { NotImplemented (); return null; } }
127
128                 public virtual string RequestType { get { NotImplemented (); return null; } set { NotImplemented (); } }
129 #if NET_4_0
130                 public virtual RequestContext RequestContext {
131                         get { NotImplemented (); return null; } 
132                         internal set { NotImplemented (); }
133                 }
134 #endif
135                 public virtual NameValueCollection ServerVariables { get { NotImplemented (); return null; } }
136
137                 public virtual int TotalBytes { get { NotImplemented (); return 0; } }
138
139 #if NET_4_5
140                 public virtual ReadEntityBodyMode ReadEntityBodyMode { get { NotImplemented(); return ReadEntityBodyMode.Classic; } }
141 #endif
142                 public virtual Uri Url { get { NotImplemented (); return null; } }
143
144                 public virtual Uri UrlReferrer { get { NotImplemented (); return null; } }
145
146                 public virtual string UserAgent { get { NotImplemented (); return null; } }
147
148                 public virtual string UserHostAddress { get { NotImplemented (); return null; } }
149
150                 public virtual string UserHostName { get { NotImplemented (); return null; } }
151
152                 public virtual string [] UserLanguages { get { NotImplemented (); return null; } }
153
154 #if NET_4_5
155                 public virtual void Abort ()
156                 {
157                         NotImplemented();
158                 }
159 #endif
160
161                 public virtual byte [] BinaryRead (int count)
162                 {
163                         NotImplemented ();
164                         return null;
165                 }
166
167                 public virtual int [] MapImageCoordinates (string imageFieldName)
168                 {
169                         NotImplemented ();
170                         return null;
171                 }
172
173                 public virtual string MapPath (string virtualPath)
174                 {
175                         NotImplemented ();
176                         return null;
177                 }
178
179                 public virtual string MapPath (string virtualPath, string baseVirtualDir, bool allowCrossAppMapping)
180                 {
181                         NotImplemented ();
182                         return null;
183                 }
184
185                 public virtual void SaveAs (string filename, bool includeHeaders)
186                 {
187                         NotImplemented ();
188                 }
189
190                 public virtual void ValidateInput ()
191                 {
192                         NotImplemented ();
193                 }
194         }
195 }