namespace MonoTests.SystemWeb.Framework
{
- public enum HttpVerb
- {
- Get, Post, Put, Delete
- }
-
[Serializable]
public class BaseRequest
{
set { _url = value; }
}
+ string _userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
+ public virtual string UserAgent
+ {
+ get { return _userAgent; }
+ set { _userAgent = value; }
+ }
+
/// <summary>
///
/// </summary>
\r
protected virtual BaseWorkerRequest CreateBaseWorkerRequest (StringWriter wr)\r
{\r
- return new BaseWorkerRequest (Url, GetQueryString (), wr);\r
+ return new BaseWorkerRequest (Url, GetQueryString (), wr, UserAgent);\r
}\r
\r
protected virtual string GetQueryString ()\r
{\r
public class BaseWorkerRequest : SimpleWorkerRequest, IDictionary\r
{\r
- public BaseWorkerRequest (string page, string query, TextWriter writer)\r
+ string _userAgent;\r
+ public BaseWorkerRequest (string page, string query, TextWriter writer, string userAgent)\r
: base (page, query, writer)\r
{\r
+ _userAgent = userAgent;\r
}\r
\r
+ public override string GetKnownRequestHeader(int index) {\r
+ switch (index) {\r
+ case HttpWorkerRequest.HeaderUserAgent:\r
+ return _userAgent;\r
+ }\r
+ return base.GetKnownRequestHeader (index);\r
+ }\r
+\r
+\r
Hashtable data = new Hashtable ();\r
#region IDictionary Members\r
\r
if (EntityBody == null || !IsPost)\r
return base.CreateBaseWorkerRequest (wr);\r
return new PostableWorkerRequest (Url, GetQueryString (),\r
- wr, EntityBody, PostContentType);\r
+ wr, UserAgent, EntityBody, PostContentType);\r
}\r
}\r
}\r
}\r
\r
public PostableWorkerRequest (string page, string query, TextWriter writer,\r
- byte[] entityBody, string postContentType)\r
- : base (page, query, writer)\r
+ string userAgent, byte[] entityBody, string postContentType)\r
+ : base (page, query, writer, userAgent)\r
{\r
this.entityBody = entityBody;\r
this.postContentType = postContentType;\r