Skip to content

Commit 57dfce0

Browse files
committed
paozhu update
1 parent a36983e commit 57dfce0

File tree

22 files changed

+5796
-39
lines changed

22 files changed

+5796
-39
lines changed

frameworks/C++/paozhu/paozhu.dockerfile

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,40 @@ RUN git clone https://github.com/hggq/paozhu
2020
# RUN unzip benchmark.zip
2121
RUN rm -Rf ./paozhu/controller
2222
RUN rm -Rf ./paozhu/libs
23-
RUN mkdir ./paozhu/libs
24-
RUN mkdir ./paozhu/libs/types
23+
RUN rm -Rf ./paozhu/view
24+
RUN rm -Rf ./paozhu/viewsrc
25+
RUN rm -Rf ./paozhu/orm
26+
RUN rm -Rf ./paozhu/models
27+
RUN rm -Rf ./paozhu/common
2528

26-
RUN mkdir ./paozhu/controller
27-
RUN mkdir ./paozhu/controller/include
28-
RUN mkdir ./paozhu/controller/src
2929

30-
COPY ./paozhu_benchmark/controller/include/techempower.h ./paozhu/controller/include/
31-
COPY ./paozhu_benchmark/controller/src/techempower.cpp ./paozhu/controller/src/
30+
COPY ./paozhu_benchmark/controller ./paozhu/
31+
COPY ./paozhu_benchmark/libs ./paozhu/
32+
COPY ./paozhu_benchmark/view ./paozhu/
33+
COPY ./paozhu_benchmark/viewsrc ./paozhu/
3234

33-
COPY ./paozhu_benchmark/libs/types/techempower_json.h ./paozhu/libs/types/
34-
COPY ./paozhu_benchmark/libs/types/techempower_json_jsonreflect.cpp ./paozhu/libs/types/
35+
COPY ./paozhu_benchmark/orm ./paozhu/
36+
COPY ./paozhu_benchmark/models ./paozhu/
37+
COPY ./paozhu_benchmark/common ./paozhu/
3538

36-
COPY ./paozhu_benchmark/common/autocontrolmethod.hpp ./paozhu/common/
37-
COPY ./paozhu_benchmark/common/reghttpmethod_pre.hpp ./paozhu/common/
38-
COPY ./paozhu_benchmark/common/reghttpmethod.hpp ./paozhu/common/
39-
COPY ./paozhu_benchmark/common/json_reflect_headers.h ./paozhu/common/
39+
40+
# RUN mkdir ./paozhu/libs
41+
# RUN mkdir ./paozhu/libs/types
42+
43+
# RUN mkdir ./paozhu/controller
44+
# RUN mkdir ./paozhu/controller/include
45+
# RUN mkdir ./paozhu/controller/src
46+
47+
# COPY ./paozhu_benchmark/controller/include/techempower.h ./paozhu/controller/include/
48+
# COPY ./paozhu_benchmark/controller/src/techempower.cpp ./paozhu/controller/src/
49+
50+
# COPY ./paozhu_benchmark/libs/types/techempower_json.h ./paozhu/libs/types/
51+
# COPY ./paozhu_benchmark/libs/types/techempower_json_jsonreflect.cpp ./paozhu/libs/types/
52+
53+
# COPY ./paozhu_benchmark/common/autocontrolmethod.hpp ./paozhu/common/
54+
# COPY ./paozhu_benchmark/common/reghttpmethod_pre.hpp ./paozhu/common/
55+
# COPY ./paozhu_benchmark/common/reghttpmethod.hpp ./paozhu/common/
56+
# COPY ./paozhu_benchmark/common/json_reflect_headers.h ./paozhu/common/
4057

4158
COPY ./paozhu_benchmark/conf/server.conf ./paozhu/conf/server.conf
4259
COPY ./paozhu_benchmark/conf/orm.conf ./paozhu/conf/orm.conf

frameworks/C++/paozhu/paozhu_benchmark/CMakeLists.txt

Lines changed: 121 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -117,13 +117,11 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/viewsrc/include)
117117
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/websockets/include)
118118
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
119119

120-
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_empty)
121-
file(REMOVE_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_empty)
122-
endif ()
123-
#EXECUTE_PROCESS(COMMAND rm ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_empty)
120+
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_pre)
121+
file(REMOVE_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_pre)
122+
endif()
124123
set(PAOZHU_PRE paozhu_pre)
125124
add_executable(${PAOZHU_PRE} ${CMAKE_CURRENT_SOURCE_DIR}/vendor/httpcli/autopickmethod.cpp ${CMAKE_CURRENT_SOURCE_DIR}/vendor/httpserver/src/md5.cpp)
126-
add_executable(paozhu_empty ${CMAKE_CURRENT_SOURCE_DIR}/vendor/httpcli/autoemptymethod.cpp)
127125

128126

129127

@@ -138,6 +136,22 @@ file(GLOB_RECURSE src_list ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
138136

139137
foreach(cppfile IN LISTS controller_list)
140138
string(REGEX REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/controller/src/" "" cppfilename ${cppfile})
139+
string(FIND ${cppfilename} "/" strpos)
140+
if(${strpos} GREATER_EQUAL "0" )
141+
string(REGEX MATCHALL "([A-Za-z0-9._-]+)/" npaths ${cppfilename} )
142+
set(fullpaths "")
143+
string(APPEND fullpaths "${CMAKE_CURRENT_SOURCE_DIR}/controller/include/")
144+
foreach(onepathname ${npaths})
145+
string(REPLACE "/" "" toucpath ${onepathname})
146+
string(APPEND fullpaths ${toucpath})
147+
if (IS_DIRECTORY "${fullpaths}")
148+
else()
149+
message("mkdir ${fullpaths}")
150+
file(MAKE_DIRECTORY "${fullpaths}")
151+
endif()
152+
string(APPEND fullpaths "/")
153+
endforeach()
154+
endif()
141155
string(REGEX REPLACE ".cpp" "" cppbasename ${cppfilename})
142156
# message(${cppbasename})
143157
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/controller/include/${cppbasename}.h")
@@ -175,21 +189,18 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
175189

176190

177191
if(${mode} AND (CMAKE_BUILD_TYPE STREQUAL "Release"))
178-
add_executable(paozhu ${CMAKE_CURRENT_SOURCE_DIR}/test/testbenchmark.cpp ${common_list} ${viewsrc_list} ${FRAMEWORK_CPP_PATH} ${orm_list} ${reflect_list} ${src_list} ${source_list} ${controller_list})
192+
add_executable(paozhu ${CMAKE_CURRENT_SOURCE_DIR}/test/testdaemon.cpp ${common_list} ${viewsrc_list} ${FRAMEWORK_CPP_PATH} ${orm_list} ${reflect_list} ${src_list} ${source_list} ${controller_list})
179193
else()
180194
add_executable(paozhu ${CMAKE_CURRENT_SOURCE_DIR}/test/test.cpp ${common_list} ${viewsrc_list} ${FRAMEWORK_CPP_PATH} ${orm_list} ${reflect_list} ${src_list} ${source_list} ${controller_list})
181195
endif()
182196

183197
if (ENABLE_WIN_VCPKG STREQUAL "ON")
184-
else ()
198+
else()
185199
add_custom_command(
186-
TARGET paozhu_empty paozhu
187-
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_pre
188-
PRE_BUILD
200+
TARGET paozhu_pre POST_BUILD
189201
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
190202
COMMAND echo "-- controls method --"
191203
COMMAND ${PAOZHU_PRE} ${CMAKE_CURRENT_SOURCE_DIR}/
192-
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_SOURCE_DIR}/bin/paozhu_empty
193204
)
194205
endif()
195206

@@ -265,7 +276,7 @@ else ()
265276

266277
if(USE_STANDALONE_ASIO)
267278
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
268-
set(ASIO_PATH "/usr/local/opt/asio/include" "/usr/local/include")
279+
set(ASIO_PATH "/usr/local/opt/asio/include" "/usr/local/include" "/opt/homebrew/opt/asio" ${CMAKE_CURRENT_SOURCE_DIR}/asio)
269280
else()
270281
set(ASIO_PATH ${CMAKE_CURRENT_SOURCE_DIR}/asio "/usr/include")
271282
endif()
@@ -324,19 +335,54 @@ if(ZLIB_FOUND)
324335
target_link_libraries(paozhu z)
325336
endif()
326337

327-
find_path(MYSQL_ROOT_DIR mysql)
338+
339+
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
340+
if (IS_DIRECTORY "/usr/local/mysql/include")
341+
MESSAGE( STATUS "/usr/local/mysql")
342+
set(MYSQL_INCLUDE_DIR "/usr/local/mysql/include")
343+
include_sub_directories_recursively(/usr/local/mysql/include)
344+
endif()
345+
346+
if (IS_DIRECTORY "/usr/local/opt/mysql-client")
347+
MESSAGE( STATUS "/usr/local/opt/mysql-client")
348+
set(MYSQL_INCLUDE_DIR "/usr/local/opt/mysql-client/include")
349+
include_sub_directories_recursively(/usr/local/opt/mysql-client/include)
350+
endif()
351+
352+
if (IS_DIRECTORY "/opt/homebrew/opt/mysql")
353+
MESSAGE( STATUS "/opt/homebrew/opt/mysql")
354+
set(MYSQL_INCLUDE_DIR "/opt/homebrew/opt/mysql/include")
355+
include_sub_directories_recursively(/opt/homebrew/opt/mysql/include)
356+
endif()
357+
358+
359+
if (IS_DIRECTORY "/opt/homebrew/opt/mysql-client")
360+
MESSAGE( STATUS "/opt/homebrew/opt/mysql-client")
361+
set(MYSQL_INCLUDE_DIR "/opt/homebrew/opt/mysql-client/include")
362+
include_sub_directories_recursively(/opt/homebrew/opt/mysql-client/include)
363+
endif()
364+
MESSAGE( STATUS "MYSQL_ROOT_DIR = ${MYSQL_ROOT_DIR} ")
365+
else()
366+
find_path(MYSQL_ROOT_DIR mysql)
367+
endif()
368+
369+
370+
FIND_PATH(MYSQL_INCLUDE_DIR NAMES mysql.h
371+
PATHS /usr/local/include/mysql /usr/include/mysql /opt/homebrew/opt/mysql/include /usr/local/opt/mysql-client/include /opt/homebrew/opt/mysql-client/include
372+
)
373+
328374
MESSAGE( STATUS "MYSQL_ROOT_DIR = ${MYSQL_ROOT_DIR} ")
329375
find_package_handle_standard_args(mysql REQUIRED_VARS MYSQL_ROOT_DIR)
330376

331-
FIND_PATH(MYSQL_INCLUDE_DIR mysql.h
332-
/usr/local/include/mysql
333-
/usr/include/mysql
334-
/usr/local/mysql/include
335-
)
377+
378+
if(NOT MYSQL_INCLUDE_DIR)
379+
message(STATUS "Could not find \"mysql.h\" from searching ")
380+
endif()
381+
336382
SET(MYSQL_NAMES mysqlclient)
337383
FIND_LIBRARY(MYSQL_LIBRARY
338384
NAMES ${MYSQL_NAMES}
339-
PATHS /usr/lib /usr/local/lib /usr/local/mysql/lib
385+
PATHS /usr/lib /usr/local/lib /usr/local/mysql/lib /usr/local/opt/mysql/lib /opt/homebrew/opt/mysql/lib /opt/homebrew/opt/mysql-client/lib
340386
PATH_SUFFIXES mysql
341387
)
342388

@@ -371,7 +417,17 @@ if(ENABLE_GD STREQUAL "ON")
371417
message("---ENABLE_GD-----")
372418

373419
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
374-
set(GD_ROOT_DIR "/usr/local/opt/gd/lib")
420+
421+
if (IS_DIRECTORY "/usr/local/opt/gd/lib")
422+
MESSAGE( STATUS "/usr/local/opt/gd/lib")
423+
set(GD_ROOT_DIR "/usr/local/opt/gd/lib")
424+
include_sub_directories_recursively(/usr/local/opt/gd/include)
425+
endif()
426+
if (IS_DIRECTORY "/opt/homebrew/opt/gd/lib")
427+
MESSAGE( STATUS "/opt/homebrew/opt/gd/lib")
428+
set(GD_ROOT_DIR "/opt/homebrew/opt/gd/lib")
429+
include_sub_directories_recursively(/opt/homebrew/opt/gd/include)
430+
endif()
375431
else()
376432
set(GD_ROOT_DIR "${sys_so_path}")
377433
endif()
@@ -393,7 +449,18 @@ endif()
393449
message(STATUS "GD Graphics Library at: ${GD_LIB_DIR}")
394450

395451
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
396-
set(QR_ROOT_DIR "/usr/local/opt/qrencode/lib")
452+
453+
if (IS_DIRECTORY "/usr/local/opt/qrencode/lib")
454+
MESSAGE( STATUS "/usr/local/opt/qrencode/lib")
455+
set(QR_ROOT_DIR "/usr/local/opt/qrencode/lib")
456+
include_sub_directories_recursively(/usr/local/opt/qrencode/include)
457+
endif()
458+
if (IS_DIRECTORY "/opt/homebrew/opt/qrencode/lib")
459+
MESSAGE( STATUS "/opt/homebrew/opt/qrencode/lib")
460+
set(QR_ROOT_DIR "/opt/homebrew/opt/qrencode/lib")
461+
include_sub_directories_recursively(/opt/homebrew/opt/qrencode/include)
462+
endif()
463+
397464
else()
398465
set(QR_ROOT_DIR "${sys_so_path}")
399466
endif()
@@ -422,7 +489,18 @@ target_link_libraries(paozhu ${GD_LIB_DIR})
422489
target_link_libraries(paozhu ${QR_LIB_DIR})
423490

424491
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
425-
set(PNG_ROOT_DIR "/usr/local/opt/libpng/lib")
492+
493+
if (IS_DIRECTORY "/usr/local/opt/libpng/lib")
494+
MESSAGE( STATUS "/usr/local/opt/libpng/lib")
495+
set(PNG_ROOT_DIR "/usr/local/opt/libpng/lib")
496+
include_sub_directories_recursively(/usr/local/opt/libpng/include)
497+
endif()
498+
if (IS_DIRECTORY "/opt/homebrew/opt/libpng/lib")
499+
MESSAGE( STATUS "/opt/homebrew/opt/libpng/lib")
500+
set(PNG_ROOT_DIR "/opt/homebrew/opt/libpng/lib")
501+
include_sub_directories_recursively(/opt/homebrew/opt/libpng/include)
502+
endif()
503+
426504
else()
427505
set(PNG_ROOT_DIR "${sys_so_path}")
428506
endif()
@@ -435,7 +513,18 @@ find_library(PNG_LIB_DIR
435513
target_link_libraries(paozhu ${PNG_LIB_DIR})
436514

437515
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
438-
set(FREETYPE_ROOT_DIR "/usr/local/opt/freetype/lib")
516+
517+
if (IS_DIRECTORY "/usr/local/opt/freetype/lib")
518+
MESSAGE( STATUS "/usr/local/opt/freetype/lib")
519+
set(FREETYPE_ROOT_DIR "/usr/local/opt/freetype/lib")
520+
include_sub_directories_recursively(/usr/local/opt/freetype/include)
521+
endif()
522+
if (IS_DIRECTORY "/opt/homebrew/opt/freetype/lib")
523+
MESSAGE( STATUS "/opt/homebrew/opt/freetype/lib")
524+
set(FREETYPE_ROOT_DIR "/opt/homebrew/opt/freetype/lib")
525+
include_sub_directories_recursively(/opt/homebrew/opt/freetype/include)
526+
endif()
527+
439528
else()
440529
set(FREETYPE_ROOT_DIR "${sys_so_path}")
441530
endif()
@@ -450,7 +539,15 @@ target_link_libraries(paozhu ${FREETYPE_LIB_DIR})
450539
endif()
451540

452541
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
453-
set(BROTLI_ROOT_DIR "/usr/local/opt/brotli/lib")
542+
if (IS_DIRECTORY "/usr/local/opt/brotli/lib")
543+
set(BROTLI_ROOT_DIR "/usr/local/opt/brotli/lib")
544+
INCLUDE_DIRECTORIES("/usr/local/opt/brotli/include")
545+
endif()
546+
# set(BROTLI_ROOT_DIR "/usr/local/opt/brotli/lib")
547+
if (IS_DIRECTORY "/opt/homebrew/opt/brotli/lib")
548+
set(BROTLI_ROOT_DIR "/opt/homebrew/opt/brotli/lib")
549+
INCLUDE_DIRECTORIES("/opt/homebrew/opt/brotli/include")
550+
endif()
454551
else()
455552
set(BROTLI_ROOT_DIR "${sys_so_path}")
456553
endif()

frameworks/C++/paozhu/paozhu_benchmark/common/autocontrolmethod.hpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ namespace http
4444

4545

4646
}
47+
48+
void _initauto_domain_httpmethodregto(std::map<std::string, std::map<std::string, regmethold_t>> &domain_methodcallback)
49+
{
50+
struct regmethold_t temp;
51+
std::map<std::string, regmethold_t> methodcallback;
52+
std::map<std::string, std::map<std::string, regmethold_t>>::iterator domain_iterator;
53+
54+
55+
}
56+
4757
}
4858

4959
#endif
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
2+
#ifndef __HTTP_AUTO_REG_CONTROL_HTTPRESTFUL_HPP
3+
#define __HTTP_AUTO_REG_CONTROL_HTTPRESTFUL_HPP
4+
5+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
6+
#pragma once
7+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
8+
9+
#include "httppeer.h"
10+
11+
12+
13+
namespace http
14+
{
15+
void _initauto_control_httprestful_paths(std::map<std::string, std::vector<std::string>> &restfulmethod)
16+
{
17+
18+
19+
if(restfulmethod.size())
20+
{}
21+
22+
23+
}
24+
25+
void _initauto_domain_httprestful_paths(std::map<std::string,std::map<std::string, std::vector<std::string>>> &restfulmethod)
26+
{
27+
std::map<std::string, std::vector<std::string>> temp_path;
28+
std::map<std::string,std::map<std::string, std::vector<std::string>>>::iterator domain_iterator;
29+
30+
domain_iterator=restfulmethod.begin();
31+
temp_path.clear();
32+
33+
34+
}
35+
36+
}
37+
38+
#endif
39+
40+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#pragma once
2+
#ifndef _CONST_DEFINE_FUNC_H
3+
#define _CONST_DEFINE_FUNC_H
4+
5+
#define CONST_MONEY_PART 1000000
6+
#define CONST_HTTP_HEADER_BODY_SIZE 16384
7+
#define CONST_PHP_BODY_POST_SIZE 16777216
8+
9+
#endif
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#include <iostream>
2+
#include <list>
3+
#include <map>
4+
#include <mutex>
5+
#include <queue>
6+
#include <string>
7+
#include <thread>
8+
#include <memory>
9+
#include <string_view>
10+
#include "httppeer.h"
11+
namespace http
12+
{
13+
std::map<std::string, bool> _block_ip_tables;
14+
std::map<std::string, bool> _block_host_tables;
15+
bool check_blockip(const std::string &client_ip)
16+
{
17+
if (client_ip.size() > 0)
18+
{
19+
return false;
20+
}
21+
return false;
22+
}
23+
bool hook_host_http1(std::shared_ptr<httppeer> peer)
24+
{
25+
if (peer->host.size() > 0)
26+
{
27+
return false;
28+
}
29+
return false;
30+
}
31+
bool hook_host_http2(std::shared_ptr<httppeer> peer)
32+
{
33+
if (peer->host.size() > 0)
34+
{
35+
return false;
36+
}
37+
return false;
38+
}
39+
}// namespace http

frameworks/C++/paozhu/paozhu_benchmark/common/json_reflect_headers.h

100644100755
File mode changed.

0 commit comments

Comments
 (0)