Hi, I am new to ragel and finding it difficult to solve this problem. I need to check if certain headers exists in the input to ragel machine. The easier way is to parse header and check if the header I am looking for is present or not. The problem with this, I need to compare every header that is present in the input to figure if the headers I am looking for is present. Is there a way in ragel to say "Given a list of headers are these headers present in any order" ? For example: Input:Content-Description: Delivery report Content-Type: message/delivery-status
Reporting-MTA: dns; xxx Arrival-Date: Fri, 04 May 2012 15:25:09 +0200 Final-Recipient: rfc822; test-dsn-fail...@gmail.com Status: 5.1.1 Action: failed Last-Attempt-Date: Fri, 04 May 2012 15:25:09 +0200 Diagnostic-Code: smtp; 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 t12si10077186weq.36 I just need to check if the headers:Reporting-MTA:Final-Recipient:Status:Action: are present. For now I have come with the following: key = print - [:];action headerName {headerName.append(1,fc);}action onHeader { if (headerName.compare("Reporting-MTA") == 0) { cout << "Reporting-MTA header is present" << endl; } else if ...}header = key+ @headerName ':' @onHeader; Is there a easier way to check if these headers exist?
_______________________________________________ ragel-users mailing list ragel-users@complang.org http://www.complang.org/mailman/listinfo/ragel-users