checks-parser/email_parser/emailparser.h

27 lines
1011 B
C++

#ifndef CHECKS_PARSER_EMAIL_PARSER
#define CHECKS_PARSER_EMAIL_PARSER
#include <check/check.h>
#include <map>
#include <boost/regex.hpp>
class EmailParser {
boost::regex headings_regex, end_marker_regex, part_end_regex;
public:
EmailParser();
std::map<std::string, std::string> parse(std::string &email_content);
std::map<std::string, std::string> parse_file(std::string path);
std::vector<std::pair<int, int>> find_parts(const boost::regex &start_regex, const boost::regex &end_regex, const std::string &content);
std::string find_check_parameters(std::string &part);
std::string extract_qr_url_from_img(std::string &part);
std::string extract_content_transfer_encoding(std::string &part);
std::vector<std::string> extract_qr_embeddings_from_part(std::string &part);
std::string search_in_images(std::string &content);
std::string search_in_text(std::string &content);
std::string handle_image(std::string &content);
};
#endif // CHECKS_PARSER_EMAIL_PARSER