diff options
author | Simon Green <sgreen@redhat.com> | 2014-06-13 02:42:35 +0200 |
---|---|---|
committer | Simon Green <sgreen@redhat.com> | 2014-06-13 02:42:35 +0200 |
commit | 6c6efdde5b5e041deb75f65b5a18baae7665d660 (patch) | |
tree | 4a10374b0c02019d8518ecedacd251fbefb32374 | |
parent | eb13c383198a1c52a7858fdf3fee0248262bbaf0 (diff) | |
download | bugzilla-6c6efdde5b5e041deb75f65b5a18baae7665d660.tar.gz bugzilla-6c6efdde5b5e041deb75f65b5a18baae7665d660.tar.xz |
Bug 1023633 - Add a webservice_before_call Hook
r=dkl, a=glob
-rw-r--r-- | Bugzilla/WebService/Server.pm | 4 | ||||
-rw-r--r-- | extensions/Example/Extension.pm | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm index 5ffd965a5..89cb1a130 100644 --- a/Bugzilla/WebService/Server.pm +++ b/Bugzilla/WebService/Server.pm @@ -28,6 +28,10 @@ sub handle_login { return if ($class->login_exempt($method) and !defined Bugzilla->input_params->{Bugzilla_login}); Bugzilla->login(); + + Bugzilla::Hook::process( + 'webservice_before_call', + { 'method' => $method, full_method => $full_method }); } sub datetime_format_inbound { diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index 5370b0f4c..22a3103c2 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -949,6 +949,20 @@ sub webservice_error_codes { $error_map->{'example_my_error'} = 10001; } +sub webservice_before_call { + my ($self, $args) = @_; + + # This code doesn't actually *do* anything, it's just here to show you + # how to use this hook. + my $method = $args->{method}; + my $full_method = $args->{full_method}; + + # Uncomment this line to see a line in your webserver's error log whenever + # a webservice call is made + #warn "RPC call $full_method made by ", + # Bugzilla->user->login || 'an anonymous user', "\n"; +} + sub webservice_fix_credentials { my ($self, $args) = @_; my $rpc = $args->{'rpc'}; |