/// <summary> /// Return the value of the given HTTP header field. /// </summary> /// <typeparam name="T">The expected type of the field value.</typeparam> /// <param name="HeaderField">The HTTP header field.</param> protected T GetHeaderField <T>(HTTPHeaderField HeaderField) { Object Value; if (_HeaderFields.TryGetValue(HeaderField.Name, out Value)) { if (Value is String) { if (HeaderField.Type == typeof(String)) { return((T)Value); } else { Object Value2 = null; if (HeaderField.StringParser(Value.ToString(), out Value2)) { return((T)Value2); } } } else { return((T)Value); } } return(default(T)); }
/// <summary> /// Return the value of the given HTTP header field. /// </summary> /// <param name="HeaderField">The HTTP header field.</param> protected String GetHeaderField(HTTPHeaderField HeaderField) { Object Value; if (_HeaderFields.TryGetValue(HeaderField.Name, out Value)) { return(Value.ToString()); } return(String.Empty); }
/// <summary> /// Return the given HTTP header field. /// </summary> /// <typeparam name="T">The expected type of the field value.</typeparam> /// <param name="HeaderField">The HTTP header field.</param> protected UInt64?GetHeaderField_UInt64(HTTPHeaderField HeaderField) { Object Value; if (_HeaderFields.TryGetValue(HeaderField.Name, out Value)) { if (Value is UInt64?) { return((UInt64?)Value); } UInt64 UInt64Value; if (UInt64.TryParse(Value.ToString(), out UInt64Value)) { return(UInt64Value); } } return(null); }
/// <summary> /// Set a HTTP header field. /// A field value of NULL will remove the field from the header. /// </summary> /// <param name="HeaderField">The header field.</param> /// <param name="Value">The value. NULL will remove the field from the header.</param> protected void SetHeaderField(HTTPHeaderField HeaderField, Object Value) { if (Value != null) { if (HeaderFields.ContainsKey(HeaderField.Name)) { HeaderFields[HeaderField.Name] = Value; } else { HeaderFields.Add(HeaderField.Name, Value); } } else if (HeaderFields.ContainsKey(HeaderField.Name)) { HeaderFields.Remove(HeaderField.Name); } }
/// <summary> /// Set a HTTP header field. /// A field value of NULL will remove the field from the header. /// </summary> /// <param name="HeaderField">The HTTP header field.</param> /// <param name="Value">The value. NULL will remove the field from the header.</param> protected void SetHeaderField(HTTPHeaderField HeaderField, Object Value) { if (Value != null) { if (_HeaderFields.ContainsKey(HeaderField.Name)) { _HeaderFields[HeaderField.Name] = Value; } else { _HeaderFields.Add(HeaderField.Name, Value); } } else if (_HeaderFields.ContainsKey(HeaderField.Name)) { _HeaderFields.Remove(HeaderField.Name); } // New collection... if (Value != null) { if (_HeaderFields2.ContainsKey(HeaderField)) { _HeaderFields2[HeaderField] = Value; } else { _HeaderFields2.Add(HeaderField, Value); } } else if (_HeaderFields2.ContainsKey(HeaderField)) { _HeaderFields2.Remove(HeaderField); } }
/// <summary> /// Return a http header field. /// </summary> /// <param name="HeaderField">The key of the requested header field.</param> /// <param name="Value">The value of the requested header field.</param> /// <returns>True if the requested header exists; false otherwise.</returns> protected Boolean TryGetHeaderField(HTTPHeaderField HeaderField, out Object Value) { return(_HeaderFields.TryGetValue(HeaderField.Name, out Value)); }
/// <summary> /// Set a HTTP header field. /// A field value of NULL will remove the field from the header. /// </summary> /// <param name="HeaderField">The header field.</param> /// <param name="Value">The value. NULL will remove the field from the header.</param> public HTTPResponseBuilder Set(HTTPHeaderField HeaderField, Object Value) { base.SetHeaderField(HeaderField, Value); return this; }
/// <summary> /// Set a HTTP header field. /// A field value of NULL will remove the field from the header. /// </summary> /// <param name="HeaderField">The header field.</param> /// <param name="Value">The value. NULL will remove the field from the header.</param> public HTTPResponseBuilder Set(HTTPHeaderField HeaderField, Object Value) { base.SetHeaderField(HeaderField, Value); return(this); }