Alejandro Celaya
|
ccbc6c7a75
|
Created middleware which closes DB connection after every request
|
2018-11-24 12:55:00 +01:00 |
|
Alejandro Celaya
|
2fc2ad98aa
|
Updated config so that shlink logger dynamically uses standard output when running with swoole
|
2018-11-24 09:38:00 +01:00 |
|
Alejandro Celaya
|
16590b2dbb
|
Prepared project to support both swoole and regular app servers with fast cgi
|
2018-11-24 08:43:48 +01:00 |
|
Alejandro Celaya
|
5abd9d1a40
|
Made test properties to be private instead of protected
|
2018-11-20 19:37:22 +01:00 |
|
Alejandro Celaya
|
0ae5a53d86
|
Enforced property types comments in one line
|
2018-11-20 19:30:27 +01:00 |
|
Alejandro Celaya
|
e30f49a791
|
Simplified error templates
|
2018-11-18 20:04:12 +01:00 |
|
Alejandro Celaya
|
d4d65bdf37
|
Added missing X-Api-Key header to cross domain middleware
|
2018-11-18 17:03:50 +01:00 |
|
Alejandro Celaya
|
79b2a0839f
|
Increased MSI to 65%
|
2018-11-17 19:23:49 +01:00 |
|
Alejandro Celaya
|
6094d17718
|
Increased MSI to 64%
|
2018-11-17 18:40:53 +01:00 |
|
Alejandro Celaya
|
d2ed7d6417
|
Increased MSI to 62%
|
2018-11-17 18:06:21 +01:00 |
|
Alejandro Celaya
|
1363194909
|
Improved code in LoggerFactory
|
2018-11-17 07:31:51 +01:00 |
|
Alejandro Celaya
|
9964d3e24b
|
Added progress bar to command downloading new GeoLite2 database file
|
2018-11-12 21:30:30 +01:00 |
|
Alejandro Celaya
|
c7339f6cfa
|
Created an EmptyIpLocationResolver which always returns an empty resolution and can be used as a fallback while resolving IP addresses
|
2018-11-12 20:58:14 +01:00 |
|
Alejandro Celaya
|
e915b7e499
|
Updated GeoLite2 db reader service so that it is lazily created
|
2018-11-12 20:22:42 +01:00 |
|
Alejandro Celaya
|
3d7cf6992e
|
Created service to update geolite2 database file
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
4a383cecaf
|
Set chain IP resolver as the default IP resolver
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
9a0f9207be
|
Fixed region resolved in GeoLite2
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
0e3a0a1eec
|
Created chain IP resolver which wrapps multiple resolver to fallback until one is capable of resolving an address
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
fd6d180eba
|
Created chainIpLocationResolver
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
d152e2ef9a
|
Removed the concept of API limits in IP location resolvers
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
b530cf4461
|
Created new namespace for IP geolocation elements
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
bbe85cde31
|
Migrated to GeoLite2 for IP location resolution
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
bfb96b0ae8
|
Fixed coding style
|
2018-11-02 12:07:13 +01:00 |
|
Alejandro Celaya
|
664dc333ac
|
Used select_keys function in place of custom pick function
|
2018-11-02 11:08:20 +01:00 |
|
Alejandro Celaya
|
521f6f2b18
|
Added functional-php library
|
2018-11-02 10:54:42 +01:00 |
|
Alejandro Celaya
|
e046eddda9
|
Improved public API in VisitLocation entity, reducing anemic model
|
2018-10-28 15:13:45 +01:00 |
|
Alejandro Celaya
|
025135b8c6
|
Added all missing use statements from global functions and constants
|
2018-10-28 08:34:02 +01:00 |
|
Alejandro Celaya
|
77d810b735
|
Replaced all FQ global function and constants by explicit imports
|
2018-10-28 08:24:06 +01:00 |
|
Alejandro Celaya
|
2eca0da852
|
Updated logger to properly format exceptions using processors
|
2018-10-20 12:37:35 +02:00 |
|
Alejandro Celaya
|
9e49604ce2
|
Replaced usages of mt_rand by random_int
|
2018-10-20 09:21:26 +02:00 |
|
Alejandro Celaya
|
98e3e22896
|
Moved global functions to handle array paths to a wrapper class
|
2018-10-20 08:00:33 +02:00 |
|
Alejandro Celaya
|
44f0011445
|
Moved logic to create a visitor from a request to the visitor itself
|
2018-10-18 20:24:25 +02:00 |
|
Alejandro Celaya
|
545094cddf
|
Used middleware from library to actually find visitor IP addresses
|
2018-10-18 20:19:29 +02:00 |
|
Alejandro Celaya
|
99f45d8853
|
Installed and registered new middleware to process IP addresses from request
|
2018-10-18 19:53:50 +02:00 |
|
Alejandro Celaya
|
fa595f7aa3
|
Fixed non-existing keys not being set with default values in imported config
|
2018-10-06 09:40:18 +02:00 |
|
Alejandro Celaya
|
ff80f32f72
|
Created json_encode function which always maps to array and converts errors into exceptions
|
2018-10-05 19:19:44 +02:00 |
|
Alejandro Celaya
|
e55dbef2fc
|
Replaced in_array by contains
|
2018-10-05 18:52:42 +02:00 |
|
Alejandro Celaya
|
ebf2e459e8
|
Refactored Databa config customizer so that it uses new structure
|
2018-10-05 18:43:39 +02:00 |
|
Alejandro Celaya
|
0183c8a4b7
|
Migrated from standard datetime objects to chronos objects
|
2018-09-29 12:52:32 +02:00 |
|
Alejandro Celaya
|
07165f344f
|
Normalized entities adding missing type hints and removing superfluous comments
|
2018-09-15 10:03:42 +02:00 |
|
Alejandro Celaya
|
a01031303f
|
Created migration which parses existing IP addresses, generating hashes and droping already used IPs
|
2018-09-13 23:50:09 +02:00 |
|
Alejandro Celaya
|
a0c3b9412f
|
Updated system to obfuscate IP addresses before persisting them
|
2018-09-13 22:36:28 +02:00 |
|
Alejandro Celaya
|
c2dd5b8c47
|
Ensured same long URL can be used multiple times for different short URLs
|
2018-09-11 19:44:33 +02:00 |
|
Alejandro Celaya
|
2d6d35a398
|
Added shortUrl field to serialized ShortUrl objects, both from CLI and REST
|
2018-08-10 23:14:45 +02:00 |
|
Alejandro Celaya
|
110e8cb78d
|
Added test to cover new IP resolution API limits
|
2018-08-04 15:50:02 +02:00 |
|
Alejandro Celaya
|
ed859767a8
|
Updated IpLocation resolver to be able to provide limits in order to apply sleeps
|
2018-08-02 23:02:48 +02:00 |
|
Alejandro Celaya
|
f4b569c245
|
Improved code
|
2018-08-01 20:28:05 +02:00 |
|
Alejandro Celaya
|
899771cc2e
|
Fixed geolocation by switching to different API
|
2018-07-31 20:24:13 +02:00 |
|
Alejandro Celaya
|
c79ca1d13c
|
Fixed phpstan issues
|
2018-07-04 20:28:05 +02:00 |
|
Alejandro Celaya
|
c7e49f223f
|
Fixed filtered lists not being properly paginated
|
2018-06-18 20:38:25 +02:00 |
|