From 39e3e1166f84a26723534b79bce54d5d92ee32a0 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 5 Feb 2018 10:28:37 -0300 Subject: [PATCH] Bug 20134: Remove /api/v1/app.pl from the generated URLs This patch removes the /api/v1/app.pl prefix from generated baseUrl. It has the consequence of hardcoding / as the base path for the API. This is ok because we don't currently support mounting Koha pieces in different than hardcoded paths (/cgi-bin/koha?), but certainly worth mentioning because this will need to depend on a syspref or config entry when someone chages this behviour. To test: - On master, point your browser to: http://kohadev.mydnsname.org:8080/api/v1/ => FAIL: basePath looks like /api/v1/app.pl/api/v1 - Apply this patch - Restart memcached and plack: $ restart_all or $ sudo systemctl restart memcached && sudo systemctl restart koha-common - Reload http://kohadev.mydnsname.org:8080/api/v1/ => SUCCESS: basePath is /api/v1 - Sign off :-D Signed-off-by: Julian Maurice Signed-off-by: Katrin Fischer --- Koha/REST/V1.pm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Koha/REST/V1.pm b/Koha/REST/V1.pm index 398a93c..57ad113 100644 --- a/Koha/REST/V1.pm +++ b/Koha/REST/V1.pm @@ -38,6 +38,11 @@ Overloaded Mojolicious->startup method. It is called at application startup. sub startup { my $self = shift; + # Remove /api/v1/app.pl/ from the path + $self->hook( before_dispatch => sub { + shift->req->url->base->path('/'); + }); + # Force charset=utf8 in Content-Type header for JSON responses $self->types->type(json => 'application/json; charset=utf8'); -- 2.1.4