(file) Return to LanguageParser.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/LanguageParser.cpp between version 1.1 and 1.2

version 1.1, 2003/07/15 17:02:49 version 1.2, 2003/07/31 14:30:32
Line 30 
Line 30 
 #include <Pegasus/Common/LanguageParser.h> #include <Pegasus/Common/LanguageParser.h>
 #include <Pegasus/Common/InternalException.h> #include <Pegasus/Common/InternalException.h>
 #include <Pegasus/Common/Tracer.h> #include <Pegasus/Common/Tracer.h>
   #include <Pegasus/Common/MessageLoader.h> //l10n
 #include <cstring> #include <cstring>
  
 //PEGASUS_USING_STD; //PEGASUS_USING_STD;
Line 85 
Line 86 
                         hdr.remove(0,i+3);  // remove everything but the quality value                         hdr.remove(0,i+3);  // remove everything but the quality value
                 }                 }
                 else{                 else{
                         throw InvalidAcceptLanguageHeader(                          //l10n
                                 "AcceptLanguage contains too many characters or non-alpha characters");                          //throw InvalidAcceptLanguageHeader(
                                   //"AcceptLanguage contains too many characters or non-alpha characters");
                           String s0 = "AcceptLanguage";
                           MessageLoaderParms parms("Common.LanguageParser.TOO_MANY_OR_NON_ALPHA_CHARACTERS",
                                                                            "$0 contains too many characters or non-alpha characters",
                                                                            s0);
                           throw InvalidAcceptLanguageHeader(MessageLoader::getMessage(parms));
                 }                 }
                 //validate quality                 //validate quality
                 quality = atof(hdr.getCString());                 quality = atof(hdr.getCString());
                 if(quality > 1.0 || quality < 0.0){                 if(quality > 1.0 || quality < 0.0){
                         throw InvalidAcceptLanguageHeader(                          //l10n
                                 "AcceptLanguage contains an invalid quality value");                          //throw InvalidAcceptLanguageHeader(
                                   //"AcceptLanguage contains an invalid quality value");
                           String s0 = "AcceptLanguage";
                           MessageLoaderParms parms("Common.LanguageParser.INVALID_QUALITY_VALUE",
                                                                            "$0 contains an invalid quality value",
                                                                            s0);
                           throw InvalidAcceptLanguageHeader(MessageLoader::getMessage(parms));
                 }                 }
         }         }
         else{   // extract and store language, quality defaults to 1.0         else{   // extract and store language, quality defaults to 1.0
                 if(isValid(hdr, validate_length)) language_tag = hdr;                 if(isValid(hdr, validate_length)) language_tag = hdr;
                 else throw InvalidAcceptLanguageHeader(                  else{
                                 "AcceptLanguage contains too many characters or non-alpha characters");                          //l10n
                           //throw InvalidAcceptLanguageHeader(
                                   //"AcceptLanguage contains too many characters or non-alpha characters");
                           String s0 = "AcceptLanguage";
                           MessageLoaderParms parms("Common.LanguageParser.TOO_MANY_OR_NON_ALPHA_CHARACTERS",
                                                                            "$0 contains too many characters or non-alpha characters",
                                                                            s0);
                           throw InvalidAcceptLanguageHeader(MessageLoader::getMessage(parms));
                   }
         }         }
  
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
Line 115 
Line 136 
         while((i = value.find("(")) != PEG_NOT_FOUND){ // get rid of anything in parenthesis in hdr if found         while((i = value.find("(")) != PEG_NOT_FOUND){ // get rid of anything in parenthesis in hdr if found
                 if((j = value.find(")")) != PEG_NOT_FOUND)                 if((j = value.find(")")) != PEG_NOT_FOUND)
                         value.remove(i, (j-i)+1);                         value.remove(i, (j-i)+1);
                 else  throw InvalidContentLanguageHeader(                  else{
                                                         "ContentLanguage does not contain terminating ) character");                          //l10n
                             //throw InvalidContentLanguageHeader(
                                                           //"ContentLanguage does not contain terminating ) character");
                           String s0 = "ContentLanguage";
                           MessageLoaderParms parms("Common.LanguageParser.DOES_NOT_CONTAIN_TERMINATING",
                                                                            "$0 does not contain terminating ) character",
                                                                            s0);
                           throw InvalidContentLanguageHeader(MessageLoader::getMessage(parms));
                   }
         }         }
         // get rid of any beginning or trailing whitespaces         // get rid of any beginning or trailing whitespaces
         while( (i = value.find(" ")) != PEG_NOT_FOUND ){         while( (i = value.find(" ")) != PEG_NOT_FOUND ){
                 value.remove(i,1);                 value.remove(i,1);
         }         }
         if(!isValid(value)) throw InvalidContentLanguageHeader(          if(!isValid(value)){
                                                         "ContentLanguage contains too many characters or non-alpha characters");                  //l10n
                    //throw InvalidContentLanguageHeader(
                                                           //"ContentLanguage contains too many characters or non-alpha characters");
                   String s0 = "ContentLanguage";
                   MessageLoaderParms parms("Common.LanguageParser.TOO_MANY_OR_NON_ALPHA_CHARACTERS",
                                                                    "$0 contains too many characters or non-alpha characters",
                                                                    s0);
                   throw InvalidContentLanguageHeader(MessageLoader::getMessage(parms));
   
           }
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
         return value;         return value;
 } }


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2