MCPcopy Create free account
hub / github.com/apache/skywalking-php / hook

Method hook

src/plugin/plugin_mysqli.rs:48–84  ·  view source on GitHub ↗
(
        &self, class_name: Option<&str>, function_name: &str,
    )

Source from the content-addressed store, hash-verified

46 }
47
48 fn hook(
49 &self, class_name: Option<&str>, function_name: &str,
50 ) -> Option<(Box<BeforeExecuteHook>, Box<AfterExecuteHook>)> {
51 match (class_name, function_name) {
52 (Some("mysqli"), "__construct" | "real_connect") => {
53 Some(self.hook_mysqli_connect(class_name, function_name, ApiStyle::OO))
54 }
55 (None, "mysqli_connect" | "mysqli_real_connect") => {
56 Some(self.hook_mysqli_connect(class_name, function_name, ApiStyle::Procedural))
57 }
58 (Some("mysqli"), f)
59 if [
60 "query",
61 "execute_query",
62 "multi_query",
63 "real_query",
64 "prepare",
65 ]
66 .contains(&f) =>
67 {
68 Some(self.hook_mysqli_methods(class_name, function_name, ApiStyle::OO))
69 }
70 (None, f)
71 if [
72 "mysqli_query",
73 "mysqli_execute_query",
74 "mysqli_multi_query",
75 "mysqli_real_query",
76 "mysqli_prepare",
77 ]
78 .contains(&f) =>
79 {
80 Some(self.hook_mysqli_methods(class_name, function_name, ApiStyle::Procedural))
81 }
82 _ => None,
83 }
84 }
85}
86
87impl MySQLImprovedPlugin {

Callers

nothing calls this directly

Calls 2

hook_mysqli_connectMethod · 0.80
hook_mysqli_methodsMethod · 0.80

Tested by

no test coverage detected