2 // System.Net.WebResponse
\r
5 // Lawrence Pit (loz@cable.a2000.nl)
\r
9 // Permission is hereby granted, free of charge, to any person obtaining
\r
10 // a copy of this software and associated documentation files (the
\r
11 // "Software"), to deal in the Software without restriction, including
\r
12 // without limitation the rights to use, copy, modify, merge, publish,
\r
13 // distribute, sublicense, and/or sell copies of the Software, and to
\r
14 // permit persons to whom the Software is furnished to do so, subject to
\r
15 // the following conditions:
\r
17 // The above copyright notice and this permission notice shall be
\r
18 // included in all copies or substantial portions of the Software.
\r
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
\r
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
\r
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
\r
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
\r
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
\r
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
\r
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
31 using System.Runtime.Serialization;
\r
33 namespace System.Net
\r
36 internal abstract class WebResponse : MarshalByRefObject, ISerializable, IDisposable {
\r
39 public abstract class WebResponse : MarshalByRefObject, ISerializable, IDisposable {
\r
43 protected WebResponse () { }
\r
45 protected WebResponse (SerializationInfo serializationInfo, StreamingContext streamingContext)
\r
47 throw new NotSupportedException ();
\r
52 public virtual long ContentLength {
\r
53 get { throw new NotSupportedException (); }
\r
54 set { throw new NotSupportedException (); }
\r
57 public virtual string ContentType {
\r
58 get { throw new NotSupportedException (); }
\r
59 set { throw new NotSupportedException (); }
\r
62 public virtual WebHeaderCollection Headers {
\r
63 get { throw new NotSupportedException (); }
\r
66 static Exception GetMustImplement ()
\r
68 return new NotImplementedException ();
\r
72 public virtual bool IsFromCache
\r
76 // Better to return false than to kill the application
\r
77 // throw GetMustImplement ();
\r
82 public virtual bool IsMutuallyAuthenticated
\r
85 throw GetMustImplement ();
\r
89 public virtual Uri ResponseUri {
\r
90 get { throw new NotSupportedException (); }
\r
92 #if NET_4_5 || MOBILE
\r
93 [MonoTODO ("for portable library support")]
\r
94 public virtual bool SupportsHeaders {
\r
95 get { throw new NotImplementedException (); }
\r
100 public virtual void Close()
\r
102 throw new NotSupportedException ();
\r
105 public virtual Stream GetResponseStream()
\r
107 throw new NotSupportedException ();
\r
109 #if TARGET_JVM //enable overrides for extenders
\r
110 public virtual void Dispose()
\r
111 #elif NET_4_0 || MOBILE
\r
112 public void Dispose ()
\r
114 void IDisposable.Dispose()
\r
120 void ISerializable.GetObjectData
\r
121 (SerializationInfo serializationInfo,
\r
122 StreamingContext streamingContext)
\r
124 throw new NotSupportedException ();
\r
128 protected virtual void GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)
\r
130 throw GetMustImplement ();
\r