使用pcre2替代glib从中的regex进行替换。
This commit is contained in:
26
plugin/business/pangu-http/pattern_replace.h
Normal file
26
plugin/business/pangu-http/pattern_replace.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include <event2/buffer.h>
|
||||
enum replace_zone
|
||||
{
|
||||
kZoneRequestUri = 0,
|
||||
kZoneRequestHeaders,
|
||||
kZoneRequestBody,
|
||||
kZoneResponseHeader,
|
||||
kZoneResponseBody,
|
||||
kZoneMax
|
||||
};
|
||||
struct replace_rule
|
||||
{
|
||||
enum replace_zone zone;
|
||||
char * find;
|
||||
char * replace_with;
|
||||
};
|
||||
|
||||
|
||||
//@parm exec_para example input:
|
||||
//zone=http_req_body; substitute=/中華民國/中华人民共和国;zone=http_resp_header; substitute=/Content-Type:\btext\/html/Content-Type:\bvideo\/mp4
|
||||
//@return formated rule number.
|
||||
size_t format_replace_rule(const char * exec_para, struct replace_rule * replace, size_t n_replace);
|
||||
struct evbuffer * execute_replace_rule(const char * in, size_t in_sz, enum replace_zone zone, const struct replace_rule * rules, size_t n_rule);
|
||||
|
||||
Reference in New Issue
Block a user