@@ -610,15 +610,29 @@ class Server {
610
610
virtual bool is_valid () const ;
611
611
612
612
Server &Get (const char *pattern, Handler handler);
613
+ Server &Get (const char *pattern, size_t pattern_len, Handler handler);
613
614
Server &Post (const char *pattern, Handler handler);
615
+ Server &Post (const char *pattern, size_t pattern_len, Handler handler);
614
616
Server &Post (const char *pattern, HandlerWithContentReader handler);
617
+ Server &Post (const char *pattern, size_t pattern_len,
618
+ HandlerWithContentReader handler);
615
619
Server &Put (const char *pattern, Handler handler);
620
+ Server &Put (const char *pattern, size_t pattern_len, Handler handler);
616
621
Server &Put (const char *pattern, HandlerWithContentReader handler);
622
+ Server &Put (const char *pattern, size_t pattern_len,
623
+ HandlerWithContentReader handler);
617
624
Server &Patch (const char *pattern, Handler handler);
625
+ Server &Patch (const char *pattern, size_t pattern_len, Handler handler);
618
626
Server &Patch (const char *pattern, HandlerWithContentReader handler);
627
+ Server &Patch (const char *pattern, size_t pattern_len,
628
+ HandlerWithContentReader handler);
619
629
Server &Delete (const char *pattern, Handler handler);
630
+ Server &Delete (const char *pattern, size_t pattern_len, Handler handler);
620
631
Server &Delete (const char *pattern, HandlerWithContentReader handler);
632
+ Server &Delete (const char *pattern, size_t pattern_len,
633
+ HandlerWithContentReader handler);
621
634
Server &Options (const char *pattern, Handler handler);
635
+ Server &Options (const char *pattern, size_t pattern_len, Handler handler);
622
636
623
637
bool set_base_dir (const char *dir, const char *mount_point = nullptr );
624
638
bool set_mount_point (const char *mount_point, const char *dir,
@@ -4069,66 +4083,116 @@ inline Server::Server()
4069
4083
inline Server::~Server () {}
4070
4084
4071
4085
inline Server &Server::Get (const char *pattern, Handler handler) {
4086
+ return Get (pattern, strlen (pattern), handler);
4087
+ }
4088
+
4089
+ inline Server &Server::Get (const char *pattern, size_t pattern_len,
4090
+ Handler handler) {
4072
4091
get_handlers_.push_back (
4073
- std::make_pair (std::regex (pattern), std::move (handler)));
4092
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4074
4093
return *this ;
4075
4094
}
4076
4095
4077
4096
inline Server &Server::Post (const char *pattern, Handler handler) {
4097
+ return Post (pattern, strlen (pattern), handler);
4098
+ }
4099
+
4100
+ inline Server &Server::Post (const char *pattern, size_t pattern_len,
4101
+ Handler handler) {
4078
4102
post_handlers_.push_back (
4079
- std::make_pair (std::regex (pattern), std::move (handler)));
4103
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4080
4104
return *this ;
4081
4105
}
4082
4106
4083
4107
inline Server &Server::Post (const char *pattern,
4084
4108
HandlerWithContentReader handler) {
4109
+ return Post (pattern, strlen (pattern), handler);
4110
+ }
4111
+
4112
+ inline Server &Server::Post (const char *pattern, size_t pattern_len,
4113
+ HandlerWithContentReader handler) {
4085
4114
post_handlers_for_content_reader_.push_back (
4086
- std::make_pair (std::regex (pattern), std::move (handler)));
4115
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4087
4116
return *this ;
4088
4117
}
4089
4118
4090
4119
inline Server &Server::Put (const char *pattern, Handler handler) {
4120
+ return Put (pattern, strlen (pattern), handler);
4121
+ }
4122
+
4123
+ inline Server &Server::Put (const char *pattern, size_t pattern_len,
4124
+ Handler handler) {
4091
4125
put_handlers_.push_back (
4092
- std::make_pair (std::regex (pattern), std::move (handler)));
4126
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4093
4127
return *this ;
4094
4128
}
4095
4129
4096
4130
inline Server &Server::Put (const char *pattern,
4097
4131
HandlerWithContentReader handler) {
4132
+ return Put (pattern, strlen (pattern), handler);
4133
+ }
4134
+
4135
+ inline Server &Server::Put (const char *pattern, size_t pattern_len,
4136
+ HandlerWithContentReader handler) {
4098
4137
put_handlers_for_content_reader_.push_back (
4099
- std::make_pair (std::regex (pattern), std::move (handler)));
4138
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4100
4139
return *this ;
4101
4140
}
4102
4141
4103
4142
inline Server &Server::Patch (const char *pattern, Handler handler) {
4143
+ return Patch (pattern, strlen (pattern), handler);
4144
+ }
4145
+
4146
+ inline Server &Server::Patch (const char *pattern, size_t pattern_len,
4147
+ Handler handler) {
4104
4148
patch_handlers_.push_back (
4105
- std::make_pair (std::regex (pattern), std::move (handler)));
4149
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4106
4150
return *this ;
4107
4151
}
4108
4152
4109
4153
inline Server &Server::Patch (const char *pattern,
4110
4154
HandlerWithContentReader handler) {
4155
+ return Patch (pattern, strlen (pattern), handler);
4156
+ }
4157
+
4158
+ inline Server &Server::Patch (const char *pattern, size_t pattern_len,
4159
+ HandlerWithContentReader handler) {
4111
4160
patch_handlers_for_content_reader_.push_back (
4112
- std::make_pair (std::regex (pattern), std::move (handler)));
4161
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4113
4162
return *this ;
4114
4163
}
4115
4164
4116
4165
inline Server &Server::Delete (const char *pattern, Handler handler) {
4166
+ return Delete (pattern, strlen (pattern), handler);
4167
+ }
4168
+
4169
+ inline Server &Server::Delete (const char *pattern, size_t pattern_len,
4170
+ Handler handler) {
4117
4171
delete_handlers_.push_back (
4118
- std::make_pair (std::regex (pattern), std::move (handler)));
4172
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4119
4173
return *this ;
4120
4174
}
4121
4175
4122
4176
inline Server &Server::Delete (const char *pattern,
4123
4177
HandlerWithContentReader handler) {
4178
+ return Delete (pattern, strlen (pattern), handler);
4179
+ }
4180
+
4181
+ inline Server &Server::Delete (const char *pattern, size_t pattern_len,
4182
+ HandlerWithContentReader handler) {
4124
4183
delete_handlers_for_content_reader_.push_back (
4125
- std::make_pair (std::regex (pattern), std::move (handler)));
4184
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4126
4185
return *this ;
4127
4186
}
4128
4187
4129
4188
inline Server &Server::Options (const char *pattern, Handler handler) {
4189
+ return Options (pattern, strlen (pattern), handler);
4190
+ }
4191
+
4192
+ inline Server &Server::Options (const char *pattern, size_t pattern_len,
4193
+ Handler handler) {
4130
4194
options_handlers_.push_back (
4131
- std::make_pair (std::regex (pattern), std::move (handler)));
4195
+ std::make_pair (std::regex (pattern, pattern_len ), std::move (handler)));
4132
4196
return *this ;
4133
4197
}
4134
4198
0 commit comments