LumiSoft.Net.Mime.MimeUtils.ParseHeaderFiledParameter C# (CSharp) Method

ParseHeaderFiledParameter() public static method

Parses header field parameter value. For example: CONTENT-TYPE: application\octet-stream; name="yourFileName.xxx", fieldName="CONTENT-TYPE:" and subFieldName="name".
public static ParseHeaderFiledParameter ( string fieldName, string parameterName, string headers ) : string
fieldName string Main header field name.
parameterName string Header field's parameter name.
headers string Full headrs string.
return string
        public static string ParseHeaderFiledParameter(string fieldName,string parameterName,string headers)
        {
            string mainFiled = ParseHeaderField(fieldName,headers);
            // Parse sub field value
            if(mainFiled.Length > 0){
                int index = mainFiled.ToUpper().IndexOf(parameterName.ToUpper());
                if(index > -1){
                    mainFiled = mainFiled.Substring(index + parameterName.Length + 1); // Remove "subFieldName="

                    // subFieldName value may be in "" and without
                    if(mainFiled.StartsWith("\"")){
                        return mainFiled.Substring(1,mainFiled.IndexOf("\"",1) - 1);
                    }
                    // value without ""
                    else{
                        int endIndex = mainFiled.Length;
                        if(mainFiled.IndexOf(" ") > -1){
                            endIndex = mainFiled.IndexOf(" ");
                        }

                        return mainFiled.Substring(0,endIndex);
                    }
                }
            }

            return "";
        }