27 lines
1011 B
C++
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
|