@@ -615,8 +615,14 @@ cc_library(
615
615
"//src/embeddings:embeddingscalculator" ,
616
616
"//src/rerank:rerankcalculator" ,],
617
617
}) + select ({
618
- "//:enable_drogon" : ["libdrogon_http_server" ],
619
- "//conditions:default" : ["libnet_http_server" ],
618
+ "//:enable_drogon" : [
619
+ "libdrogon_http_server" ,
620
+ "libmultipart_parser_drogon_impl" ,
621
+ ],
622
+ "//conditions:default" : [
623
+ "libnet_http_server" ,
624
+ # Add net-http implementation here if we ever want one
625
+ ],
620
626
}) + [
621
627
"cpp_headers" ,
622
628
"ovms_header" ,
@@ -811,6 +817,7 @@ cc_library(
811
817
deps = [
812
818
"@com_github_tencent_rapidjson//:rapidjson" ,
813
819
"libovmsclient_connection" ,
820
+ "libmultipart_parser" ,
814
821
],
815
822
visibility = ["//visibility:public" ],
816
823
copts = COPTS_ADJUSTED ,
@@ -829,6 +836,7 @@ cc_library(
829
836
linkopts = LINKOPTS_ADJUSTED ,
830
837
alwayslink = 1 ,
831
838
)
839
+
832
840
cc_library (
833
841
name = "libhttpclientconnection" ,
834
842
hdrs = ["http_frontend/http_client_connection.hpp" ],
@@ -843,6 +851,31 @@ cc_library(
843
851
alwayslink = 1 ,
844
852
)
845
853
854
+ cc_library (
855
+ name = "libmultipart_parser" ,
856
+ hdrs = ["multi_part_parser.hpp" ],
857
+ deps = [
858
+ ],
859
+ visibility = ["//visibility:public" ,],
860
+ local_defines = COMMON_LOCAL_DEFINES ,
861
+ copts = COPTS_ADJUSTED ,
862
+ linkopts = LINKOPTS_ADJUSTED ,
863
+ )
864
+
865
+ cc_library (
866
+ name = "libmultipart_parser_drogon_impl" ,
867
+ hdrs = ["http_frontend/multi_part_parser_drogon_impl.hpp" ],
868
+ srcs = ["http_frontend/multi_part_parser_drogon_impl.cpp" ],
869
+ deps = [
870
+ "libmultipart_parser" ,
871
+ "@drogon//:drogon_cmake" ,
872
+ ],
873
+ visibility = ["//visibility:public" ,],
874
+ local_defines = COMMON_LOCAL_DEFINES ,
875
+ copts = COPTS_ADJUSTED ,
876
+ linkopts = LINKOPTS_ADJUSTED ,
877
+ )
878
+
846
879
cc_library (
847
880
name = "libovms_module" ,
848
881
hdrs = ["module.hpp" ],
@@ -2757,6 +2790,7 @@ cc_test(
2757
2790
"test/get_mediapipe_graph_metadata_response_test.cpp" ,
2758
2791
"test/mediapipe_framework_test.cpp" ,
2759
2792
"test/http_openai_handler_test.cpp" ,
2793
+ "test/multipart_calculator_test.cpp" ,
2760
2794
],
2761
2795
"//:disable_mediapipe" : [
2762
2796
"test/disabled_mediapipe_test.cpp" ,
@@ -2776,6 +2810,12 @@ cc_test(
2776
2810
"test/llm/visual_language_model/initialization_test.cpp" ,
2777
2811
],
2778
2812
"//:disable_python" : [],
2813
+ }) + select ({
2814
+ "//:enable_drogon" : [
2815
+ "test/multi_part_parser_drogon_test.cpp" ,
2816
+ ],
2817
+ "//conditions:default" : [
2818
+ ],
2779
2819
}),
2780
2820
data = [
2781
2821
"test/add_two_inputs_model/1/add.xml" ,
@@ -2827,6 +2867,7 @@ cc_test(
2827
2867
"test/mediapipe/config_mediapipe_graph_with_side_packets.json" ,
2828
2868
"test/mediapipe/config_mediapipe_two_inputs.json" ,
2829
2869
"test/mediapipe/config_mediapipe_two_outputs_dag.json" ,
2870
+ "test/mediapipe/config_mediapipe_multipart_mock.json" ,
2830
2871
"test/mediapipe/config_mp_tf_passthrough.json" ,
2831
2872
"test/mediapipe/config_standard_add.json" ,
2832
2873
"test/mediapipe/config_standard_dummy.json" ,
@@ -2845,6 +2886,7 @@ cc_test(
2845
2886
"test/mediapipe/graphdummyadapterfull_dummyinputnames.pbtxt" ,
2846
2887
"test/mediapipe/graphadapterfull_two_outputs_dag.pbtxt" ,
2847
2888
"test/mediapipe/graphdummyadapterfull_two_outputs.pbtxt" ,
2889
+ "test/mediapipe/graph_multipart.pbtxt" ,
2848
2890
"test/mediapipe/negative/config_exception_during_process.json" ,
2849
2891
"test/mediapipe/negative/config_no_calc_output_stream.json" ,
2850
2892
"test/mediapipe/negative/graph_exception_during_process.pbtxt" ,
@@ -2927,6 +2969,7 @@ cc_test(
2927
2969
"//conditions:default" : [
2928
2970
"//src/llm:genai_servables" ,
2929
2971
"//src/test/mediapipe/calculators:mediapipe_test_calculators" ,
2972
+ "//src/test/mediapipe/calculators:dependency_free_http_test_calculators" ,
2930
2973
"@mediapipe//mediapipe/calculators/ovms:ovms_calculator" ,
2931
2974
"@mediapipe//mediapipe/framework:calculator_runner" ,
2932
2975
],
0 commit comments