diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d940e7d..6080dd1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com), and this project adheres to [Semantic Versioning](https://semver.org). +## [Unreleased] +### Added +* *Nothing* + +### Changed +* *Nothing* + +### Deprecated +* *Nothing* + +### Removed +* *Nothing* + +### Fixed +* [#979](https://github.com/shlinkio/shlink/issues/979) Added missing `itemsPerPage` query param to swagger docs for short RULs list. +* [#980](https://github.com/shlinkio/shlink/issues/980) Fixed value used for `Access-Control-Allow-Origin`, that could not work as expected when including an IP address. + + ## [2.5.1] - 2021-01-21 ### Added * *Nothing* diff --git a/docs/swagger/paths/v1_short-urls.json b/docs/swagger/paths/v1_short-urls.json index a81853d8..1dc10978 100644 --- a/docs/swagger/paths/v1_short-urls.json +++ b/docs/swagger/paths/v1_short-urls.json @@ -19,6 +19,15 @@ "type": "integer" } }, + { + "name": "itemsPerPage", + "in": "query", + "description": "The amount of items to return on every page. Defaults to 10", + "required": false, + "schema": { + "type": "number" + } + }, { "name": "searchTerm", "in": "query", diff --git a/module/Rest/src/Middleware/CrossDomainMiddleware.php b/module/Rest/src/Middleware/CrossDomainMiddleware.php index b438f7ec..851dc955 100644 --- a/module/Rest/src/Middleware/CrossDomainMiddleware.php +++ b/module/Rest/src/Middleware/CrossDomainMiddleware.php @@ -32,7 +32,7 @@ class CrossDomainMiddleware implements MiddlewareInterface, RequestMethodInterfa } // Add Allow-Origin header - $response = $response->withHeader('Access-Control-Allow-Origin', $request->getHeader('Origin')); + $response = $response->withHeader('Access-Control-Allow-Origin', '*'); if ($request->getMethod() !== self::METHOD_OPTIONS) { return $response; } diff --git a/module/Rest/test-api/Action/CreateShortUrlActionTest.php b/module/Rest/test-api/Action/CreateShortUrlTest.php similarity index 99% rename from module/Rest/test-api/Action/CreateShortUrlActionTest.php rename to module/Rest/test-api/Action/CreateShortUrlTest.php index 5e388b0d..60cffddd 100644 --- a/module/Rest/test-api/Action/CreateShortUrlActionTest.php +++ b/module/Rest/test-api/Action/CreateShortUrlTest.php @@ -12,7 +12,7 @@ use function Functional\map; use function range; use function sprintf; -class CreateShortUrlActionTest extends ApiTestCase +class CreateShortUrlTest extends ApiTestCase { /** @test */ public function createsNewShortUrlWhenOnlyLongUrlIsProvided(): void diff --git a/module/Rest/test-api/Action/DeleteShortUrlActionTest.php b/module/Rest/test-api/Action/DeleteShortUrlTest.php similarity index 98% rename from module/Rest/test-api/Action/DeleteShortUrlActionTest.php rename to module/Rest/test-api/Action/DeleteShortUrlTest.php index 76968cbd..360287ec 100644 --- a/module/Rest/test-api/Action/DeleteShortUrlActionTest.php +++ b/module/Rest/test-api/Action/DeleteShortUrlTest.php @@ -7,7 +7,7 @@ namespace ShlinkioApiTest\Shlink\Rest\Action; use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; use ShlinkioApiTest\Shlink\Rest\Utils\NotFoundUrlHelpersTrait; -class DeleteShortUrlActionTest extends ApiTestCase +class DeleteShortUrlTest extends ApiTestCase { use NotFoundUrlHelpersTrait; diff --git a/module/Rest/test-api/Action/EditShortUrlTagsActionTest.php b/module/Rest/test-api/Action/EditShortUrlTagsTest.php similarity index 98% rename from module/Rest/test-api/Action/EditShortUrlTagsActionTest.php rename to module/Rest/test-api/Action/EditShortUrlTagsTest.php index 7fe45c73..f016882b 100644 --- a/module/Rest/test-api/Action/EditShortUrlTagsActionTest.php +++ b/module/Rest/test-api/Action/EditShortUrlTagsTest.php @@ -8,7 +8,7 @@ use GuzzleHttp\RequestOptions; use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; use ShlinkioApiTest\Shlink\Rest\Utils\NotFoundUrlHelpersTrait; -class EditShortUrlTagsActionTest extends ApiTestCase +class EditShortUrlTagsTest extends ApiTestCase { use NotFoundUrlHelpersTrait; diff --git a/module/Rest/test-api/Action/EditShortUrlActionTest.php b/module/Rest/test-api/Action/EditShortUrlTest.php similarity index 99% rename from module/Rest/test-api/Action/EditShortUrlActionTest.php rename to module/Rest/test-api/Action/EditShortUrlTest.php index a909130a..84612b0f 100644 --- a/module/Rest/test-api/Action/EditShortUrlActionTest.php +++ b/module/Rest/test-api/Action/EditShortUrlTest.php @@ -14,7 +14,7 @@ use ShlinkioApiTest\Shlink\Rest\Utils\NotFoundUrlHelpersTrait; use function GuzzleHttp\Psr7\build_query; use function sprintf; -class EditShortUrlActionTest extends ApiTestCase +class EditShortUrlTest extends ApiTestCase { use ArraySubsetAsserts; use NotFoundUrlHelpersTrait; diff --git a/module/Rest/test-api/Action/GlobalVisitsActionTest.php b/module/Rest/test-api/Action/GlobalVisitsTest.php similarity index 94% rename from module/Rest/test-api/Action/GlobalVisitsActionTest.php rename to module/Rest/test-api/Action/GlobalVisitsTest.php index 9c09da10..99e05918 100644 --- a/module/Rest/test-api/Action/GlobalVisitsActionTest.php +++ b/module/Rest/test-api/Action/GlobalVisitsTest.php @@ -6,7 +6,7 @@ namespace ShlinkioApiTest\Shlink\Rest\Action; use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; -class GlobalVisitsActionTest extends ApiTestCase +class GlobalVisitsTest extends ApiTestCase { /** * @test diff --git a/module/Rest/test-api/Action/ListTagsActionTest.php b/module/Rest/test-api/Action/ListTagsTest.php similarity index 98% rename from module/Rest/test-api/Action/ListTagsActionTest.php rename to module/Rest/test-api/Action/ListTagsTest.php index 188e6bdf..d82a4f8e 100644 --- a/module/Rest/test-api/Action/ListTagsActionTest.php +++ b/module/Rest/test-api/Action/ListTagsTest.php @@ -7,7 +7,7 @@ namespace ShlinkioApiTest\Shlink\Rest\Action; use GuzzleHttp\RequestOptions; use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; -class ListTagsActionTest extends ApiTestCase +class ListTagsTest extends ApiTestCase { /** * @test diff --git a/module/Rest/test-api/Action/ResolveShortUrlActionTest.php b/module/Rest/test-api/Action/ResolveShortUrlTest.php similarity index 97% rename from module/Rest/test-api/Action/ResolveShortUrlActionTest.php rename to module/Rest/test-api/Action/ResolveShortUrlTest.php index 7996e459..d256a2ad 100644 --- a/module/Rest/test-api/Action/ResolveShortUrlActionTest.php +++ b/module/Rest/test-api/Action/ResolveShortUrlTest.php @@ -11,7 +11,7 @@ use ShlinkioApiTest\Shlink\Rest\Utils\NotFoundUrlHelpersTrait; use function sprintf; -class ResolveShortUrlActionTest extends ApiTestCase +class ResolveShortUrlTest extends ApiTestCase { use NotFoundUrlHelpersTrait; diff --git a/module/Rest/test-api/Action/ShortUrlVisitsActionTest.php b/module/Rest/test-api/Action/ShortUrlVisitsTest.php similarity index 97% rename from module/Rest/test-api/Action/ShortUrlVisitsActionTest.php rename to module/Rest/test-api/Action/ShortUrlVisitsTest.php index 22864108..c55f3a27 100644 --- a/module/Rest/test-api/Action/ShortUrlVisitsActionTest.php +++ b/module/Rest/test-api/Action/ShortUrlVisitsTest.php @@ -11,7 +11,7 @@ use ShlinkioApiTest\Shlink\Rest\Utils\NotFoundUrlHelpersTrait; use function GuzzleHttp\Psr7\build_query; use function sprintf; -class ShortUrlVisitsActionTest extends ApiTestCase +class ShortUrlVisitsTest extends ApiTestCase { use NotFoundUrlHelpersTrait; diff --git a/module/Rest/test-api/Action/TagVisitsActionTest.php b/module/Rest/test-api/Action/TagVisitsTest.php similarity index 98% rename from module/Rest/test-api/Action/TagVisitsActionTest.php rename to module/Rest/test-api/Action/TagVisitsTest.php index c1557bdd..b30b787f 100644 --- a/module/Rest/test-api/Action/TagVisitsActionTest.php +++ b/module/Rest/test-api/Action/TagVisitsTest.php @@ -8,7 +8,7 @@ use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; use function sprintf; -class TagVisitsActionTest extends ApiTestCase +class TagVisitsTest extends ApiTestCase { /** * @test diff --git a/module/Rest/test-api/Action/UpdateTagActionTest.php b/module/Rest/test-api/Action/UpdateTagTest.php similarity index 98% rename from module/Rest/test-api/Action/UpdateTagActionTest.php rename to module/Rest/test-api/Action/UpdateTagTest.php index de0b1594..262789d7 100644 --- a/module/Rest/test-api/Action/UpdateTagActionTest.php +++ b/module/Rest/test-api/Action/UpdateTagTest.php @@ -7,7 +7,7 @@ namespace ShlinkioApiTest\Shlink\Rest\Action; use GuzzleHttp\RequestOptions; use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; -class UpdateTagActionTest extends ApiTestCase +class UpdateTagTest extends ApiTestCase { /** * @test diff --git a/module/Rest/test-api/Middleware/CorsTest.php b/module/Rest/test-api/Middleware/CorsTest.php index a1ca9901..1cb8676f 100644 --- a/module/Rest/test-api/Middleware/CorsTest.php +++ b/module/Rest/test-api/Middleware/CorsTest.php @@ -35,7 +35,7 @@ class CorsTest extends ApiTestCase ]); self::assertEquals($expectedStatusCode, $resp->getStatusCode()); - self::assertEquals($origin, $resp->getHeaderLine('Access-Control-Allow-Origin')); + self::assertEquals('*', $resp->getHeaderLine('Access-Control-Allow-Origin')); self::assertFalse($resp->hasHeader('Access-Control-Allow-Methods')); self::assertFalse($resp->hasHeader('Access-Control-Max-Age')); self::assertFalse($resp->hasHeader('Access-Control-Allow-Headers')); diff --git a/module/Rest/test/Middleware/CrossDomainMiddlewareTest.php b/module/Rest/test/Middleware/CrossDomainMiddlewareTest.php index 907fb678..08657992 100644 --- a/module/Rest/test/Middleware/CrossDomainMiddlewareTest.php +++ b/module/Rest/test/Middleware/CrossDomainMiddlewareTest.php @@ -61,7 +61,7 @@ class CrossDomainMiddlewareTest extends TestCase $headers = $response->getHeaders(); - self::assertEquals('local', $response->getHeaderLine('Access-Control-Allow-Origin')); + self::assertEquals('*', $response->getHeaderLine('Access-Control-Allow-Origin')); self::assertArrayNotHasKey('Access-Control-Allow-Methods', $headers); self::assertArrayNotHasKey('Access-Control-Max-Age', $headers); self::assertArrayNotHasKey('Access-Control-Allow-Headers', $headers); @@ -82,7 +82,7 @@ class CrossDomainMiddlewareTest extends TestCase $headers = $response->getHeaders(); - self::assertEquals('local', $response->getHeaderLine('Access-Control-Allow-Origin')); + self::assertEquals('*', $response->getHeaderLine('Access-Control-Allow-Origin')); self::assertArrayHasKey('Access-Control-Allow-Methods', $headers); self::assertEquals('1000', $response->getHeaderLine('Access-Control-Max-Age')); self::assertEquals('foo, bar, baz', $response->getHeaderLine('Access-Control-Allow-Headers'));