/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		public RequestParameterSet GetRequestData()
		{
			var result = new RequestParameterSet();
			PrepareDictionaryData(result.Query, _url.Query,true);
			if (_httpMethod.ToUpper() == "POST")
			{
				if (null!=_contentType && _contentType.Contains("multipart/form-data"))
				{
					ReadMultipartForm(result);
				}
				else
				{
					var buffer = new byte[_contentLength];
					_inputStream.Read(buffer, 0, (int)_contentLength);
					var str = _contentEncoding.GetString(buffer);
					result.PostData = str;
					try
					{
						PrepareDictionaryData(result.Form, str,false);
					}
					catch
					{
						
					}
				}
			}
			return result;
		}
		private void ReadMultipartForm(RequestParameterSet result)
		{

			var mainbufferStream = new MemoryStream();
			_inputStream.CopyTo(mainbufferStream);
			var context = new MiltipartReadContext( mainbufferStream.GetBuffer(), _contentType,_contentEncoding,result);
			context.Read();
		}
		public MiltipartReadContext(byte[] buffer, string contentType, Encoding contentEncoding, RequestParameterSet result)
		{
			_buffer = buffer;
			_encoding = contentEncoding;
			_currentType = "";
			_boundaryBytes = _encoding.GetBytes("--" + contentType.Split(';')[1].Split('=')[1]);
			_result = result;
			_start = 0;
			_idx = 0;
			_end = 0;
			_currentName = "";
			_currentFileName = "";
				
		}