From 3b98597a42f30ddc5b887a0e89a581d8e0c3c51c Mon Sep 17 00:00:00 2001 From: Jared Whiklo Date: Thu, 24 Mar 2016 09:29:17 -0500 Subject: [PATCH] Correct Headers returned on Collection creation --- .../src/Controller/CollectionController.php | 6 +++--- .../src/Provider/CollectionServiceProvider.php | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/services/CollectionService/src/Controller/CollectionController.php b/services/CollectionService/src/Controller/CollectionController.php index c380b4a57..8643313c6 100644 --- a/services/CollectionService/src/Controller/CollectionController.php +++ b/services/CollectionService/src/Controller/CollectionController.php @@ -18,7 +18,6 @@ public function __construct(Application $app, IUuidGenerator $uuidGenerator) { public function create(Application $app, Request $request, $id) { $tx = $request->query->get('tx', ""); - //Check for format $format = NULL; try { @@ -98,8 +97,9 @@ public function create(Application $app, Request $request, $id) { $putHeaders = $responsePut->getHeaders(); //Guzzle psr7 response objects are inmutable. So we have to make this an array and add directly $putHeaders['Link'] = array('<'.$responsePut->getBody().'>; rel="alternate"'); - $putHeaders['Link'] = array('<'.$urlRoute.$fakeUuid.'/members>; rel="hub"'); - $putHeaders['Location'] = array($urlRoute.$fakeUuid); + $return_uuid = (isset($existingUuid) ? $existingUuid : $newUuid); + $putHeaders['Link'] = array('<'.$urlRoute.$return_uuid.'/members>; rel="hub"'); + $putHeaders['Location'] = array($urlRoute.$return_uuid); //Should i care about the etag? return new Response($putHeaders['Location'][0], 201, $putHeaders); } diff --git a/services/CollectionService/src/Provider/CollectionServiceProvider.php b/services/CollectionService/src/Provider/CollectionServiceProvider.php index 5c62d19a0..f89f66e6b 100644 --- a/services/CollectionService/src/Provider/CollectionServiceProvider.php +++ b/services/CollectionService/src/Provider/CollectionServiceProvider.php @@ -81,7 +81,6 @@ public function connect(Application $app) { // // Define routing referring to controller services // - $CollectionControllers->before($app['islandora.hostHeaderNormalize']); $CollectionControllers->post("/collection/{id}", "islandora.collectioncontroller:create") ->value('id',"")