X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FService.pm;h=d9990ff90743f6a79fdda32267ebaec3e575ee16;hb=7eef4c8c700dc81e8ab2fd28486162ff7db35ede;hp=e39334ea18e143107898381e76b48fe6e96459fa;hpb=3206d0fe3c72114c9f3ffed315c5728e3f89ee8f;p=koha_gimpoz diff --git a/C4/Service.pm b/C4/Service.pm index e39334ea18..d9990ff907 100644 --- a/C4/Service.pm +++ b/C4/Service.pm @@ -13,9 +13,9 @@ package C4::Service; # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =head1 NAME @@ -59,11 +59,7 @@ our ( $query, $cookie ); =head2 init -=over 4 - - our ( $query, $response ) = C4::Service->init( %needed_flags ); - -=back + our ( $query, $response ) = C4::Service->init( %needed_flags ); Initialize the service and check for the permissions in C<%needed_flags>. @@ -85,19 +81,15 @@ sub init { our $cookie = $cookie_; # I have no desire to offend the Perl scoping gods - $class->return_error( type => 'auth', message => $status ) if ( $status ne 'ok' ); + $class->return_error( 'auth', $status ) if ( $status ne 'ok' ); return ( $query, new C4::Output::JSONStream ); } =head2 return_error -=over 4 - C4::Service->return_error( $type, $error, %flags ); -=back - Exit the script with HTTP status 400, and return a JSON error object. C<$type> should be a short, lower case code for the generic type of error (such @@ -127,22 +119,14 @@ sub return_error { =head2 return_multi -=over 4 - -C4::Service->return_multi( \@responses, %flags ); - -=back + C4::Service->return_multi( \@responses, %flags ); return_multi is similar to return_success or return_error, but allows you to return different statuses for several requests sent at once (using HTTP status "207 Multi-Status", much like WebDAV). The toplevel hashref (turned into the JSON response) looks something like this: -=over 4 - -{ multi => JSON::true, responses => \@responses, %flags } - -=back + { multi => JSON::true, responses => \@responses, %flags } Each element of @responses should be either a plain hashref or an arrayref. If it is a hashref, it is sent to the browser as-is. If it is an arrayref, it is @@ -183,12 +167,8 @@ sub return_multi { =head2 return_success -=over 4 - C4::Service->return_success( $response ); -=back - Print out the information in the C C<$response>, then exit with HTTP status 200. @@ -202,12 +182,8 @@ sub return_success { =head2 require_params -=over 4 - my @values = C4::Service->require_params( @params ); -=back - Check that each of of the parameters specified in @params was sent in the request, then return their values in that order. @@ -230,14 +206,10 @@ sub require_params { =head2 dispatch -=over 4 - -C4::Service->dispatch( - [ $path_regex, \@required_params, \&handler ], - ... -); - -=back + C4::Service->dispatch( + [ $path_regex, \@required_params, \&handler ], + ... + ); dispatch takes several array-refs, each one describing a 'route', to use the Rails terminology.