private static void InsertFormatterInfo(HFType type, string hfName, FormatValueFunc fvf, LengthFunc lf) { int index = (int)type; FormatFuncs[(index)] = fvf; LenFuncs[index] = lf; BinaryHeaderName[index] = Encoding.ASCII.GetBytes(hfName); }
public T GetSingleField <T>(HFType type) where T : IHeaderField { if (type == HFType.Undefined || type == HFType.Cookie) { string msg = string.Format("Cannot get no-single field as single one." + " Use 'GetUndefinedField()' or 'GetCookieFields()' as needed"); throw new InvalidOperationException(msg); } return((T)onlySingleHeaderFields[type]); }
internal bool TryGetFirst(HFType type, out IHeaderField field) { foreach (var hf in headerFieldsList) { if (hf.Type == type) { field = hf; return(true); } } field = null; return(false); }
///<summary>Indicates if at least one field of '<param name="type"/>' type is present in the header</summary> ///<param name="type">Type of header field</param> public bool Contains(HFType type) { if (HFType.Undefined == type) { return(undefinedHfList.Count > 0); } else if (HFType.Cookie == type) { return(cookieHfList.Count > 0); } else { return(onlySingleHeaderFields.ContainsKey(type)); } }