# 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
=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>.
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
=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
=head2 return_success
-=over 4
-
C4::Service->return_success( $response );
-=back
-
Print out the information in the C<C4::Output::JSONStream> C<$response>, then
exit with HTTP status 200.
=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.
=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.