diff --git a/Makefile b/Makefile index a0451be8..d2d90e36 100644 --- a/Makefile +++ b/Makefile @@ -91,6 +91,7 @@ LIB_SOURCES = src/libhttp.c \ src/httplib_interpret_uri.c \ src/httplib_is_authorized_for_put.c \ src/httplib_is_not_modified.c \ + src/httplib_is_put_or_delete_method.c \ src/httplib_is_valid_http_method.c \ src/httplib_is_valid_port.c \ src/httplib_is_websocket_protocol.c \ diff --git a/src/httplib_is_put_or_delete_method.c b/src/httplib_is_put_or_delete_method.c new file mode 100644 index 00000000..23e1e9f2 --- /dev/null +++ b/src/httplib_is_put_or_delete_method.c @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2016 Lammert Bies + * Copyright (c) 2013-2016 the Civetweb developers + * Copyright (c) 2004-2013 Sergey Lyubka + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + + +#include "libhttp-private.h" + + +int XX_httplib_is_put_or_delete_method( const struct mg_connection *conn ) { + + if ( conn == NULL ) return 0; + + const char *s = conn->request_info.request_method; + + return s != NULL && (!strcmp(s, "PUT") || !strcmp(s, "DELETE") || !strcmp(s, "MKCOL") || !strcmp(s, "PATCH")); + +} /* X_httplib_is_put_or_delete_method */ diff --git a/src/libhttp.c b/src/libhttp.c index dc19c605..b0809052 100644 --- a/src/libhttp.c +++ b/src/libhttp.c @@ -3329,14 +3329,3 @@ void XX_httplib_base64_encode( const unsigned char *src, int src_len, char *dst } /* XX_httplib_base64_encode */ #endif - - -int XX_httplib_is_put_or_delete_method( const struct mg_connection *conn ) { - - if ( conn == NULL ) return 0; - - const char *s = conn->request_info.request_method; - - return s != NULL && (!strcmp(s, "PUT") || !strcmp(s, "DELETE") || !strcmp(s, "MKCOL") || !strcmp(s, "PATCH")); - -} /* X_httplib_is_put_or_delete_method */