Alejandro Celaya
|
5266743a0c
|
Added as much additional data as possible to exceptions
|
2019-11-27 20:18:36 +01:00 |
|
Alejandro Celaya
|
fffb2872ef
|
Replaced hardcoded error response by the use of a problem details action
|
2019-11-26 22:18:55 +01:00 |
|
Alejandro Celaya
|
3b56fc3760
|
Refactored and fixed unit tests
|
2019-11-26 22:12:52 +01:00 |
|
Alejandro Celaya
|
5213faa0a1
|
Converted VerifyAuthenticationException into a problem details exception
|
2019-11-26 22:03:40 +01:00 |
|
Alejandro Celaya
|
6f4e5175da
|
Converted MissingAuthenticationException into a problem details exception
|
2019-11-26 21:43:29 +01:00 |
|
Alejandro Celaya
|
f502eb0195
|
Added new test for the case in which an invalid URL is provided
|
2019-11-26 21:33:22 +01:00 |
|
Alejandro Celaya
|
509c9fe2e8
|
Improved AuthenticationMiddleware API tests
|
2019-11-26 21:29:25 +01:00 |
|
Alejandro Celaya
|
13e795d25d
|
Updated ValidationException's base exception
|
2019-11-26 20:58:38 +01:00 |
|
Alejandro Celaya
|
a28ef1f176
|
Converted EntityDoesNotExistException into a problem details exception renamed as TagNotFoundException
|
2019-11-25 19:15:46 +01:00 |
|
Alejandro Celaya
|
0c5eec7e95
|
Replaced the use of EntityDoesNotExistException by ShorturlNotFoundException where applicable
|
2019-11-25 18:54:25 +01:00 |
|
Alejandro Celaya
|
310032e303
|
Converted DeleteShortUrlException into a problem details exception
|
2019-11-24 23:56:02 +01:00 |
|
Alejandro Celaya
|
32b3c72bdf
|
Converted ValidationException into a problem details exception
|
2019-11-24 23:45:40 +01:00 |
|
Alejandro Celaya
|
c1eee2246b
|
Converted NonUniqueSlugException into a problem details exception
|
2019-11-24 23:32:37 +01:00 |
|
Alejandro Celaya
|
0d7d53ab5b
|
Converted InvalidUrlException into a problem details exception
|
2019-11-24 23:24:53 +01:00 |
|
Alejandro Celaya
|
2f1de4a162
|
Renamed InvalidShortCodeException to ShortCodeNotFoundException
|
2019-11-24 23:15:55 +01:00 |
|
Alejandro Celaya
|
cdd36b6712
|
Created BackwardsCompatibleProblemDetailsMiddlewareTest
|
2019-11-24 13:24:52 +01:00 |
|
Alejandro Celaya
|
6f0afe269d
|
Moved InvalidShortCode exception handling to problem details
|
2019-11-24 12:41:12 +01:00 |
|
Alejandro Celaya
|
09321eaa93
|
Updated InvalidShortCodeException to implement ProblemDetails
|
2019-11-23 13:41:07 +01:00 |
|
Alejandro Celaya
|
850259290a
|
Covered new use case on NotFoundRedirectHandlerTest
|
2019-11-23 10:28:58 +01:00 |
|
Alejandro Celaya
|
1bafe54a75
|
Split NotFoundHandler into two different middlewares
|
2019-11-23 10:25:12 +01:00 |
|
Alejandro Celaya
|
89e373f775
|
Moved NotFoundHandler to ErrorHandler namespace
|
2019-11-23 10:11:34 +01:00 |
|
Alejandro Celaya
|
74854b3dac
|
Added zend problem details to the project
|
2019-11-22 19:49:14 +01:00 |
|
Alejandro Celaya
|
a0510d6a69
|
Removed content-based-error-handler in preparation for the problem details module
|
2019-11-22 18:01:38 +01:00 |
|
Alejandro Celaya
|
6ddb60d047
|
Improved ValidationException to avoid polluting the message with invalid data but keeping it on the string representation
|
2019-11-21 20:07:57 +01:00 |
|
Alejandro Celaya
|
b3b67b051d
|
Created API tests for errors when updating tags
|
2019-11-21 19:03:34 +01:00 |
|
Alejandro Celaya
|
8607d58e18
|
Created API tests for errors when editting short URL tags
|
2019-11-21 18:49:55 +01:00 |
|
Alejandro Celaya
|
34e60ec5b8
|
Created API tests for errors when getting short URL visits
|
2019-11-20 20:58:16 +01:00 |
|
Alejandro Celaya
|
d044e1a5b7
|
Created API tests for errors when resolving short URLs
|
2019-11-20 20:44:03 +01:00 |
|
Alejandro Celaya
|
9096318968
|
Created API tests for errors when deleting short URLs
|
2019-11-20 20:38:19 +01:00 |
|
Alejandro Celaya
|
ba6e8c4092
|
Created API tests for errors when editing a short URL
|
2019-11-20 20:31:18 +01:00 |
|
Alejandro Celaya
|
98b6dba05d
|
Removed generic error handling from action that will usually be handled by ErrorHandler middleware
|
2019-11-20 20:21:02 +01:00 |
|
Alejandro Celaya
|
84c4631124
|
Deleted specific factory by replacing it by ConfigAbstractFactory
|
2019-11-20 20:18:21 +01:00 |
|
Alejandro Celaya
|
af0ed6135e
|
Updated to latest doctrine versions, solving deprecations
|
2019-11-20 20:03:06 +01:00 |
|
Alejandro Celaya
|
d030fd1aa6
|
Updated GeolocationDbUpdater to always use a local lock even if redis config is provided
|
2019-11-17 11:09:37 +01:00 |
|
Alejandro Celaya
|
c34d5a35e2
|
Updated database commands so that internal commands are run with mustRun
|
2019-11-17 09:52:45 +01:00 |
|
Alejandro Celaya
|
45ac2c3c51
|
Replaced third party domains used in tests by custom shlink domains
|
2019-11-16 13:37:53 +01:00 |
|
Alejandro Celaya
|
6b8fc3228e
|
Handled IDN domains also on internal redirections when validating a URL
|
2019-11-16 12:38:45 +01:00 |
|
Alejandro Celaya
|
19c1b29f59
|
Added tests for UrlValidator
|
2019-11-16 10:19:25 +01:00 |
|
Alejandro Celaya
|
264b8c2a9e
|
Added support for IDN
|
2019-11-16 10:06:55 +01:00 |
|
Alejandro Celaya
|
705dc2ec39
|
Added forward of query string from short URLs to long one
|
2019-11-13 21:04:44 +01:00 |
|
Alejandro Celaya
|
3b9221c7d2
|
Ensured options for short.url:list command have required values
|
2019-11-13 20:24:59 +01:00 |
|
Alejandro Celaya
|
d4005da35c
|
Added workers nums handling to simplified config parser
|
2019-11-10 12:04:14 +01:00 |
|
Alejandro Celaya
|
9abaa243e0
|
Some extra minor improvements
|
2019-11-02 19:08:07 +01:00 |
|
Alejandro Celaya
|
906dfe60f8
|
Simplified code to render not-foubnd templates by infering the template to be used inside NotFoundHandler
|
2019-11-02 18:49:24 +01:00 |
|
Alejandro Celaya
|
01f60614ef
|
Removed hardcoded route names for core routes and used action class names instead
|
2019-11-02 18:36:15 +01:00 |
|
Alejandro Celaya
|
eeb5306883
|
Moved all logic to redirect to specific URLs when a 404 is found to the NotFoundHandler
|
2019-11-02 18:33:26 +01:00 |
|
Alejandro Celaya
|
24c3a3e84c
|
Defined new options for new redirect configuration
|
2019-11-02 17:23:21 +01:00 |
|
Alejandro Celaya
|
8b9663aea0
|
Created DeprecatedConfigParserTest
|
2019-11-02 17:04:49 +01:00 |
|
Alejandro Celaya
|
b59f4e2805
|
Defined new configs for not found redirects
|
2019-11-02 11:30:09 +01:00 |
|
Alejandro Celaya
|
39ac2efe26
|
Updated to latest shlink-common with bug fixes
|
2019-11-01 17:16:56 +01:00 |
|
Alejandro Celaya
|
ad906000c7
|
Removed typehint making phpstan throw false positive
|
2019-11-01 10:04:25 +01:00 |
|
Alejandro Celaya
|
5361f33cc1
|
Some more refactorings
|
2019-11-01 09:52:56 +01:00 |
|
Alejandro Celaya
|
1937f3ea22
|
Trying to automatically persist tags
|
2019-10-26 09:01:51 +02:00 |
|
Alejandro Celaya
|
9b767ee9f3
|
Updated to shlink-ip-geolocation v1.1
|
2019-10-25 20:00:26 +02:00 |
|
Alejandro Celaya
|
f784ee5b28
|
Fixed unit tests
|
2019-10-22 19:52:28 +02:00 |
|
Alejandro Celaya
|
cd6f067fe5
|
Ensured domain is taken into account when generating QR codes
|
2019-10-22 19:43:53 +02:00 |
|
Alejandro Celaya
|
b5e4da847a
|
Allowed port number on domain field when creating shotr URLs
|
2019-10-20 10:30:11 +02:00 |
|
Alejandro Celaya
|
b8cdc29d8f
|
Increased long URL size in DB to 2048 characters
|
2019-10-20 09:53:11 +02:00 |
|
Alejandro Celaya
|
0f5e4e7fa2
|
Updated common and qr-code
|
2019-10-15 19:06:37 +02:00 |
|
Alejandro Celaya
|
5bd7b53e0a
|
Added more tests for new logics
|
2019-10-11 11:28:53 +02:00 |
|
Alejandro Celaya
|
9538f474de
|
Added logic to check if a short code is in use and regenerate it otherwise
|
2019-10-11 11:09:33 +02:00 |
|
Alejandro Celaya
|
8f2e78c946
|
Moved logic to generate random short codes to external function
|
2019-10-11 09:35:09 +02:00 |
|
Alejandro Celaya
|
2f09ff456c
|
Updated logic to generate random short codes, increasing entropy
|
2019-10-11 09:14:25 +02:00 |
|
Alejandro Celaya
|
e0d20bf8ff
|
Updated to coding styles v2
|
2019-10-05 17:26:10 +02:00 |
|
Alejandro Celaya
|
636df2a736
|
Read request's authority when tracking a visit and passed it down
|
2019-10-04 21:36:54 +02:00 |
|
Alejandro Celaya
|
baf3093893
|
Added support for domain param to command and action to resolve a short URL
|
2019-10-04 21:17:02 +02:00 |
|
Alejandro Celaya
|
8d3a49a319
|
Fixed issue with postgres when fetching resultset ordering by nullable column
|
2019-10-04 18:07:26 +02:00 |
|
Alejandro Celaya
|
eced1af21d
|
Added more database cases covering different combinations of finding short URL by short code and domain
|
2019-10-04 17:34:34 +02:00 |
|
Alejandro Celaya
|
49c3c9bec1
|
Ensured domain is taken into account when looking for a short URL
|
2019-10-04 17:21:22 +02:00 |
|
Alejandro Celaya
|
2ffaabe594
|
Added option to define domain to GenerateShortUrlCommand
|
2019-10-02 20:29:13 +02:00 |
|
Alejandro Celaya
|
f31dc6c6e5
|
Added missing return type hints
|
2019-10-02 20:15:14 +02:00 |
|
Alejandro Celaya
|
f067d0e831
|
Allowed to provide the domain when creating a short URL
|
2019-10-02 20:13:25 +02:00 |
|
Alejandro Celaya
|
a892f72425
|
Added migration to make the combination of slug+domain unique
|
2019-10-02 20:01:15 +02:00 |
|
Alejandro Celaya
|
25f64a2fc4
|
Added check for domain when matching an existing short URL
|
2019-10-01 22:15:11 +02:00 |
|
Alejandro Celaya
|
fd1fe90731
|
Created tests for new domain resolvers
|
2019-10-01 22:00:46 +02:00 |
|
Alejandro Celaya
|
495643f4f1
|
Ensured domain is taken into account when checking if a slug is in use
|
2019-10-01 21:42:35 +02:00 |
|
Alejandro Celaya
|
8da6b336f5
|
Added API test which checks short URLs with a domain are parsed as such
|
2019-10-01 20:24:11 +02:00 |
|
Alejandro Celaya
|
d0bb86ca8f
|
Added simple way to resolve domains from entity manager when creating a short URL
|
2019-10-01 20:16:27 +02:00 |
|
Alejandro Celaya
|
1085809fa5
|
Moved code to convert a ShortUrl into a full link as string to the entity itself
|
2019-09-30 20:01:36 +02:00 |
|
Alejandro Celaya
|
7b1857dcda
|
Added entities config for domains
|
2019-09-30 19:42:27 +02:00 |
|
Alejandro Celaya
|
8d74e0c3ff
|
Fixed undefined-index errors in BasePathPrefixerTest
|
2019-09-13 20:46:49 +02:00 |
|
Alejandro Celaya
|
bc07d77d06
|
Removed duplicated code from BasePathPrefixer
|
2019-09-13 20:22:41 +02:00 |
|
Alejandro Celaya
|
6e38457655
|
Created BasePathPrefixerTest
|
2019-09-13 20:17:30 +02:00 |
|
Alejandro Celaya
|
d7a3aeb0a2
|
Created a config prost-processor which adds the base path on every applicable configuration
|
2019-09-13 20:03:53 +02:00 |
|
Alejandro Celaya
|
01d62b7aea
|
Removed escape characters no longer needed in templates
|
2019-09-12 19:45:24 +02:00 |
|
Alejandro Celaya
|
7b0ccc9f69
|
Removed references to anything related with translations
|
2019-09-12 08:09:17 +02:00 |
|
Alejandro Celaya
|
56d0383170
|
Increased referer length to 1024 and ensured values are cropped before trying to insert in database
|
2019-08-24 10:25:43 +02:00 |
|
Alejandro Celaya
|
971b7967de
|
Installed EventDispatcher module from external library
|
2019-08-12 20:54:30 +02:00 |
|
Alejandro Celaya
|
b732f1df0d
|
Moved IpGeolocation module to external library
|
2019-08-12 20:00:15 +02:00 |
|
Alejandro Celaya
|
6720d12ab8
|
Removed use of Interop container
|
2019-08-12 18:59:02 +02:00 |
|
Alejandro Celaya
|
d767c415d1
|
Deleted local Common module and used external one
|
2019-08-12 18:34:52 +02:00 |
|
Alejandro Celaya
|
0e535123ae
|
Used TestUtils module from external library
|
2019-08-11 21:22:27 +02:00 |
|
Alejandro Celaya
|
d96023d063
|
Used class from shlink-installer instead of duplicated local version
|
2019-08-11 20:34:55 +02:00 |
|
Alejandro Celaya
|
095f075ca9
|
Moved PreviewGenerationException to PreviewGenerator module
|
2019-08-11 19:47:15 +02:00 |
|
Alejandro Celaya
|
47ea4218d0
|
Created PreviewGenerator module
|
2019-08-11 19:38:46 +02:00 |
|
Alejandro Celaya
|
7c349e42fd
|
Created TestUtils module
|
2019-08-11 16:30:46 +02:00 |
|
Alejandro Celaya
|
cb715c0877
|
Decoupled Common module from any other module
|
2019-08-11 14:29:22 +02:00 |
|
Alejandro Celaya
|
97a362617d
|
Added new API test for Options requests
|
2019-08-11 14:21:35 +02:00 |
|
Alejandro Celaya
|
24e708b7e1
|
Removered registered options middleware
|
2019-08-11 14:02:25 +02:00 |
|
Alejandro Celaya
|
583a684b03
|
Created SluggerFilterTest
|
2019-08-11 13:54:21 +02:00 |
|
Alejandro Celaya
|
fe8465261f
|
Moved ResponseUtilsTrait to Response subnamespace
|
2019-08-11 13:48:19 +02:00 |
|
Alejandro Celaya
|
334cc231dc
|
Final changes done on Common module
|
2019-08-11 13:44:42 +02:00 |
|
Alejandro Celaya
|
848d574f68
|
Moved too concrete class from Common to Core
|
2019-08-11 13:33:42 +02:00 |
|
Alejandro Celaya
|
8f929c0ee3
|
Dropped Integrations module and created LICENSE files for new modules
|
2019-08-11 13:20:18 +02:00 |
|
Alejandro Celaya
|
15bd839940
|
Improved README files
|
2019-08-11 13:06:10 +02:00 |
|
Alejandro Celaya
|
0323e0d17d
|
Simplified IpAddressMiddlewareFactory and decoupled from Core module
|
2019-08-11 10:22:19 +02:00 |
|
Alejandro Celaya
|
5fa4fa0225
|
Moved some elements in Common module to more proper locations
|
2019-08-10 23:58:21 +02:00 |
|
Alejandro Celaya
|
986c165815
|
Moved RuntimeException to IpGeolocation module
|
2019-08-10 23:30:47 +02:00 |
|
Alejandro Celaya
|
53243d1764
|
Moved WrongIpException to IpGeolocation module
|
2019-08-10 23:26:39 +02:00 |
|
Alejandro Celaya
|
4aed8e6b59
|
Moved ShlinkTable class to CLI module
|
2019-08-10 23:16:34 +02:00 |
|
Alejandro Celaya
|
16653d60ed
|
Enhanced CacheFactory to support redis and allow optional APCu
|
2019-08-10 17:44:09 +02:00 |
|
Alejandro Celaya
|
c9be89647c
|
Updated RedisFactory so that it loads redis config from cache.redis too
|
2019-08-10 17:12:22 +02:00 |
|
Alejandro Celaya
|
64916dafac
|
Fixed coding styles
|
2019-08-10 14:16:19 +02:00 |
|
Alejandro Celaya
|
02ca843944
|
Created function to abstract how to load config from a glob pattern
|
2019-08-10 14:09:42 +02:00 |
|
Alejandro Celaya
|
3520ab6b18
|
Moved Ip resolvers to the Resolver subnamespace
|
2019-08-10 13:56:06 +02:00 |
|
Alejandro Celaya
|
30314fd532
|
Moved all ip-geolocation related stuff to its own module
|
2019-08-10 13:43:52 +02:00 |
|
Alejandro Celaya
|
b7cc460844
|
Deprecated previews generation
|
2019-08-09 18:12:33 +02:00 |
|
Alejandro Celaya
|
0c26198b55
|
Improved tests to reach 75% MSI
|
2019-08-08 17:06:20 +02:00 |
|
Alejandro Celaya
|
a304cca3b6
|
Improved ListShortUrlsActionTest
|
2019-08-08 16:43:47 +02:00 |
|
Alejandro Celaya
|
564b65c8ca
|
Created ValidationExceptionTest
|
2019-08-08 16:20:37 +02:00 |
|
Alejandro Celaya
|
1349079f59
|
Updated TaskRunner and ListenerProvider so that they are lazyly created, preventing the Swoole server to be created more than once
|
2019-08-08 14:12:54 +02:00 |
|
Alejandro Celaya
|
38016b3ba3
|
Created delegator factory that injects logger on services implementing LoggerAware, and used it for locks factory
|
2019-08-08 13:42:14 +02:00 |
|
Alejandro Celaya
|
6b8ca3e611
|
Updated SimplifiedConfigParser so that it properly converts the redis_servers keys and aliases the store as a side effect
|
2019-08-07 18:45:28 +02:00 |
|
Alejandro Celaya
|
73fd348490
|
Ensured Redis lock store is wrapped into a retry adapter
|
2019-08-07 17:37:24 +02:00 |
|
Alejandro Celaya
|
04389fc8b0
|
Added support in RedisFactory to provide servers as a comma-separated string
|
2019-08-07 17:01:09 +02:00 |
|
Alejandro Celaya
|
0f8dd1effb
|
Added post processing mapping to define the lock store to be used
|
2019-08-07 16:16:53 +02:00 |
|
Alejandro Celaya
|
7aa246b550
|
Created RedisFactoryTest
|
2019-08-07 16:07:17 +02:00 |
|
Alejandro Celaya
|
1e294fe1bc
|
Created RedisFactory which will create the redis adapter for the redis lock
|
2019-08-07 14:17:15 +02:00 |
|
Alejandro Celaya
|
dcfb12f454
|
Moved some classes to proper namespaces
|
2019-08-07 13:50:38 +02:00 |
|
Alejandro Celaya
|
8985a6932f
|
Created MigrateDatabaseCommandTest
|
2019-08-06 21:06:14 +02:00 |
|
Alejandro Celaya
|
c04f0af56f
|
Created command to run migrations with a lock
|
2019-08-06 20:48:48 +02:00 |
|
Alejandro Celaya
|
bc3fc59b1e
|
Fixed error on new database creation command when database platform is sqlite
|
2019-08-06 20:16:16 +02:00 |
|
Alejandro Celaya
|
749671c230
|
Created CreateDatabaseCommandTest
|
2019-08-06 18:40:32 +02:00 |
|
Alejandro Celaya
|
e79c41d753
|
Created NoDbNameConnectionFactoryTest
|
2019-08-06 17:30:28 +02:00 |
|
Alejandro Celaya
|
a575f2eced
|
Created new service which is the database connection but without the dbname, and used in in create db command
|
2019-08-05 18:48:33 +02:00 |
|
Alejandro Celaya
|
b68e262eac
|
Implemented how the CreateDatabaseCommand checks if the database tables exist
|
2019-08-05 10:16:58 +02:00 |
|
Alejandro Celaya
|
f78fa58cf1
|
Updated CreateDatabaseCommand to create the empty database if it does not exist
|
2019-08-05 10:08:59 +02:00 |
|
Alejandro Celaya
|
3916b06e7c
|
Added improvements and new steps to CreateDatabaseCommand
|
2019-08-04 21:31:37 +02:00 |
|
Alejandro Celaya
|
7fa1f1c63c
|
Created empoty locked command to create shlink database
|
2019-08-04 11:30:35 +02:00 |
|
Alejandro Celaya
|
7ed85e8916
|
Moved locking logic for CLI commands to a common abstract class
|
2019-08-04 11:16:46 +02:00 |
|
Alejandro Celaya
|
bfd2ce782c
|
Created ReopeningEntityManagerTest
|
2019-08-02 19:53:19 +02:00 |
|
Alejandro Celaya
|
f99053d251
|
Created ReopeningEntityManagerDelegatorTest
|
2019-08-02 19:33:31 +02:00 |
|
Alejandro Celaya
|
bdc93a45b5
|
Created EntityManagerDecorator to handle the automatic reopening, and removed this behavior from ClosDbConnectionMiddleware
|
2019-08-02 19:28:10 +02:00 |
|
Alejandro Celaya
|
aff1df32f2
|
Updated to coding-standard library v1.2.2
|
2019-08-01 19:49:54 +02:00 |
|
Alejandro Celaya
|
9cb316bdfa
|
Added more headers to inspect while looking for the remote IP address
|
2019-08-01 18:27:43 +02:00 |
|
Alejandro Celaya
|
f5878a5e7b
|
Ensured EntityManager is reopened by CloseDbConnectionMiddleware after an error closed it
|
2019-07-31 20:54:41 +02:00 |
|
Alejandro Celaya
|
406de16a0d
|
Ensured database connection is closed even if an error is thrown during dispatch process
|
2019-07-31 20:08:46 +02:00 |
|
Alejandro Celaya
|
a6727c5382
|
Fixed coding styles
|
2019-07-23 22:09:38 +02:00 |
|
Alejandro Celaya
|
173bfbd300
|
Updated tests to fit current implementations
|
2019-07-23 22:04:01 +02:00 |
|
Alejandro Celaya
|
999beef349
|
Fixed GeolocationDbUpdater so that it does not try to interact with the reader if the file does not exist, preventing later errors
|
2019-07-23 17:07:40 +02:00 |
|