Dag
27b3d7c34e
feat: improve logging and error handling ( #2994 )
...
* feat: improve logging and error handling
* trim absolute path from file name
* fix: suppress php errors from xml parsing
* fix: respect the error reporting level in the custom error handler
* feat: dont log error which is produced by bots
* ignore error about invalid bridge name
* upgrade bridge exception from warning to error
* remove remnants of using phps builin error handler
* move responsibility of printing php error from logger to error handler
* feat: include url in log record context
* fix: always include url in log record contect
Also ignore more non-interesting exceptions.
* more verbose httpexception
* fix
* fix
2022-09-08 19:07:57 +02:00
Eugene Molotov
bbbd599bc8
fix: do not throw exception on 301-303 http responses ( #3014 )
2022-09-06 15:40:20 +02:00
Dag
8ea9472300
feat: improve exception message when xml parsing fails ( #3009 )
2022-09-05 14:26:11 +02:00
Dag
5e09a14acc
fix: include git tag in version ( #3000 )
...
Also include os and php version in github issue template.
2022-09-04 07:21:57 +02:00
Dag
693d6edfbf
fix: php7.3 parser error in Configuration.php ( #2999 )
...
Dont fail a basic lint so that the proper error message can be shown when on unsupported versions.
2022-09-04 04:50:01 +02:00
Dag
57d5aa45f7
fix: php notice in eztvbridge ( #2998 )
...
* fix: php notice in eztvbridge
Fixes Undefined property: stdClass::$torrents
* lint
2022-09-04 04:35:21 +02:00
Dag
f40ed566be
fix: absolute urls for images in pixivbridge ( #2993 )
2022-09-02 20:35:17 +02:00
Dag
3c2353c0ec
fix: bug in previous refactor ( #2992 )
...
fix #2991
2022-08-31 18:16:19 +02:00
Dag
97808abca1
refactor: rename rssbridge.php to bootstrap.php ( #2987 )
...
Fix #2986
2022-08-27 23:01:06 +02:00
Dag
5165ea265d
fix: case-insensitive config from env, fix #2935 ( #2973 )
...
* refactor
* fix: case-sensitive config from env, fix #2935
* lowercase all config section and keys
* test: add test for case-insensitivity
2022-08-23 21:19:53 +02:00
Dag
0de1694371
refactor: extract index.php to RssBridge.php ( #2961 )
...
* refactor: extract entry point into class
* refactor: js
* refactor: extract frontpage action
2022-08-18 22:52:01 +02:00
Dag
502799a74c
feat: use bridge description and short name in search ( #2952 )
...
* refactor: search.js
* feat: use bridge description and short name in search
* fix bug in previous merge commit
Also reformat string from tabs to spaces
2022-08-06 23:12:30 +02:00
Dag
2bbce8ebef
refactor: general code base refactor ( #2950 )
...
* refactor
* fix: bug in previous refactor
* chore: exclude phpcompat sniff due to bug in phpcompat
* fix: do not leak absolute paths
* refactor/fix: batch extensions checking, fix DOS issue
2022-08-06 22:46:28 +02:00
Dag
b042412416
fix: force HTTP 1.1 in curl requests ( #2949 )
...
Since curl 7.62.0 the default option is: CURL_HTTP_VERSION_2TLS
Before that the default used to be: CURL_HTTP_VERSION_1_1
Fix #2947
2022-08-05 11:46:32 +02:00
Dag
ecb486794b
refactor: use static values for cache scope
...
This fixes a future problem when code is placed under a namespace because `get_class($bridge)` will then return e.g. `RssBridge\Bridge\TwitterBridge` instead of the the current value `TwitterBridge`.
Also a bit refactoring of `Configuration.php`.
2022-08-02 15:03:54 +02:00
Dag
afcc38786e
fix: use default headers in getContents() ( #2927 )
2022-07-31 04:21:56 +02:00
Dag
0a060b2ad6
[Gab] feat: add new bridge GabBridge ( #2920 )
2022-07-31 03:52:27 +02:00
Jan Tojnar
5b5f3b4254
Do not use constants for configuration ( #2938 )
...
* docs: Do not use constant names when referring to config options
The options are customizable using a config file and no longer hardcoded in index.php since 8ac8e08abf
* Do not use constants for configuration
Since <8ac8e08abf
>, they are just set to the configuration object values.
2022-07-24 19:26:12 +02:00
Dag
5e52ecc3f8
test: add new test for Configuration ( #2915 )
2022-07-10 20:05:27 +02:00
Dag
a966213cd7
refactor: inject the action params via its execute method ( #2907 )
2022-07-08 21:06:14 +02:00
Dag
abc4af43b3
feat: improve error handling ( #2902 )
2022-07-08 20:39:13 +02:00
Dag
abfc6b4633
feat: introduce template engine ( #2899 )
2022-07-08 14:17:25 +02:00
Jan Tojnar
951092eef3
Fix coding style missed by phpbcf ( #2901 )
...
$ composer require --dev friendsofphp/php-cs-fixer
$ echo >.php-cs-fixer.dist.php "<?php
$finder = PhpCsFixer\Finder::create()
->in(__DIR__);
$rules = [
'@PSR12' => true,
// '@PSR12:risky' => true,
'@PHP74Migration' => true,
// '@PHP74Migration:risky' => true,
// buggy, duplicates existing comment sometimes
'no_break_comment' => false,
'array_syntax' => true,
'lowercase_static_reference' => true,
'visibility_required' => false,
// Too much noise
'binary_operator_spaces' => false,
'heredoc_indentation' => false,
'trailing_comma_in_multiline' => false,
];
$config = new PhpCsFixer\Config();
return $config
->setRules($rules)
// ->setRiskyAllowed(true)
->setFinder($finder);
"
$ vendor/bin/php-cs-fixer --version
PHP CS Fixer 3.8.0 BerSzcz against war! by Fabien Potencier and Dariusz Ruminski.
PHP runtime: 8.1.7
$ vendor/bin/php-cs-fixer fix
$ rm .php-cs-fixer.cache
$ vendor/bin/php-cs-fixer fix
2022-07-08 13:00:52 +02:00
Jan Tojnar
dbf8c5b7ae
refactor(BridgeFactory): make methods only accept valid class names ( #2897 )
...
This moves the responsibility for getting a valid class name
to the users of BridgeFactory, avoiding the repeated sanitation.
Improper use can also be checked statically.
2022-07-08 12:54:23 +02:00
Jan Tojnar
d107f8ed30
Improve Factory variable names ( #2895 )
2022-07-06 12:14:04 +02:00
Jan Tojnar
ab6aca3163
lib/Configuration: Remove redundant comment
...
It was just getting out of sync:
- Minimum PHP version was bumped in 8365a7a34d
- Cache directory permission check was removed in 8e2b65556f
- Whitelist permission check was removed in d4e867f240
2022-07-06 03:34:37 +02:00
Dag
321ec7c8c1
refactor: move cache logic into the factory ( #2884 )
2022-07-05 13:20:01 +02:00
Dag
5b9b579652
refactor: remove unused class ( #2883 )
2022-07-05 10:50:39 +02:00
Dag
4f75591060
Reformat codebase v4 ( #2872 )
...
Reformat code base to PSR12
Co-authored-by: rssbridge <noreply@github.com>
2022-07-01 15:10:30 +02:00
Dag
5076d09de6
refactor: prepare for PSR2 ( #2859 )
2022-06-24 18:29:35 +02:00
Dag
ee80f4918e
refactor: action ( #2836 )
2022-06-22 18:30:37 +02:00
Dag
fad0dbb6ef
refactor: fix exception handling ( #2835 )
...
* refactor: fix exception handling
The removed catch is never uses in php versions above 7.
The need for multiple catch statements like this is to support both php 5 and 7.
* remove traces of old exception handling
* add typehints
* dont treat exception code 0 specially
2022-06-22 18:30:06 +02:00
Dag
07927008eb
refactor: CacheFactory ( #2834 )
2022-06-22 18:29:28 +02:00
Dag
b7b9378484
refactor: ActionFactory ( #2833 )
2022-06-22 18:28:07 +02:00
Dag
af5648d928
refactor: FormatFactory ( #2832 )
2022-06-22 18:27:20 +02:00
Dag
8365a7a34d
chore: bump required php version to 7.4 ( #2838 )
...
* chore: require min php 7.4
* Revert "feat: backport php 7.3 functions (#2803 )"
This reverts commit 6df5a4bc14
.
* [BandcampDaily] use array_key_first
* hard fail on php versions below 7.4
* update phpcompat linter
2022-06-19 21:45:33 +02:00
Yaman Qalieh
65e6d9f454
[XPathAbstract] Improve Media Url regex ( #2845 )
2022-06-19 02:19:32 +02:00
Jan Tojnar
10eb1c9a95
[FormatAbstract]: Ensure sanitizeHtml is given string ( #2791 )
...
Sometimes `Item::getContent` returns `null`, in which case `sanitizeHtml`
would pass it to `str_replace`, which would raise `E_DEPRECATED` on PHP 8.1.
2022-06-17 20:46:15 +02:00
Yaman Qalieh
9503f9ad7f
[Release] 2022-06-14 ( #2818 )
2022-06-14 09:47:12 -04:00
Kristian Salonen
166ead902d
[Configuration.php] Update the version name to dev.2022-06-10 ( #2811 )
2022-06-10 15:05:34 +02:00
Jan Tojnar
347f9a3eda
[contents] Add MIME type for mp3 ( #2809 )
...
Without this, format tests fail on systems without `/etc/mime.types`.
2022-06-09 22:41:10 -04:00
Yaman Qalieh
37f211a37e
Add Laravel framework license
2022-06-09 12:13:07 -04:00
Dag
6df5a4bc14
feat: backport php 7.3 functions ( #2803 )
...
* feat: backport php 7.3 functions
* fix: add license
* fix: formatting
* fix: add note in README regarding license
2022-06-09 18:00:51 +02:00
Jan Tojnar
fb501652d5
Formats: Remove display & related method ( #2776 )
...
Format should not be responsible for sending HTTP response.
2022-06-07 18:05:33 +02:00
Dag
cb05cacd6a
fix: add 429 to status codes ( #2757 )
2022-05-27 15:25:12 +02:00
Dag
5cc34b884a
[core] Improve getContents docs ( #2742 )
2022-05-22 21:27:23 -04:00
Dag
1d0a0b927b
fix: use accept header when fetching feed ( #2737 )
...
* fix: use accept header when fetching feed
* fix: include atom too, and reuse constants from format classes
* add a catch all accept header
2022-05-18 00:18:33 +02:00
Dag
4007afdcf5
Merge branch 'autoloading' into master
2022-05-17 23:59:18 +02:00
Dag
7d00b0c5df
fix: include http code in exception ( #2726 )
2022-05-17 23:47:12 +02:00
Dag
0212c4790f
fix: connectivityaction ( #2725 )
2022-05-17 23:46:37 +02:00