Commit graph

516 commits

Author SHA1 Message Date
Michael 63da4a75e9 The boot.php had been cleared of most functions 2021-11-04 20:29:59 +00:00
Michael 516018861e Merge remote-tracking branch 'upstream/develop' into error-handling 2021-10-31 05:25:39 +00:00
Michael 57353eb9b0 Changed scope 2021-10-31 04:54:24 +00:00
Michael 4236a9a105 Improved http error handling 2021-10-29 23:21:07 +00:00
Philipp Holzer f4ea74447e
Add Feedback :-) 2021-10-29 11:37:09 +02:00
Philipp Holzer 409d909d0f
Restructure HTTPClient for new paradigm 2021-10-28 20:01:03 +02:00
Hypolite Petovan 7cdd2d1336 Refactor User::getAvatarUrlForId into getAvatarUrl
- Use user/owner array as parameter instead of uid
- Rename $profile variables to $owner when it's the result of User::getOwnerDataByNick
- Replace Module\Photo::stripExtension with native pathinfo() calls
2021-10-02 19:06:25 -04:00
Philipp Holzer 254c32ac91
Forgot one Logpoint .. 2021-10-02 23:27:15 +02:00
Philipp Holzer 80753ed1b6
Remove disturbing/superfluous logging messages 2021-10-02 23:11:33 +02:00
Michael f1e2ceb32c Issue 10747: Improved check for blocked domains 2021-10-02 10:25:50 +00:00
Michael a91e3f5dbc Issue 10720: Use different path scheme for user avatars 2021-09-17 18:36:20 +00:00
Philipp Holzer 0d6884a8a9
Fix http_code usage in case of failures 2021-08-29 14:05:38 +02:00
Philipp Holzer 58001c729f
Fix https://github.com/friendica/friendica/issues/10473#issuecomment-907749093 2021-08-29 13:56:56 +02:00
Philipp Holzer b76634ea0c
Catch TransferExceptions for HTTPClient::finalUrl() in case the headers are empty 2021-08-29 13:37:08 +02:00
Philipp Holzer 1c089e8d89
[WIP] WebDav Storage backend 2021-08-25 23:47:18 +02:00
Philipp Holzer 13a91e63aa
Rename DI::httpRequest() into DI::httpClient() 2021-08-25 21:54:54 +02:00
Philipp Holzer 505100bdd7
Rename HTTPRequestOptions to HTTPClientOptions 2021-08-25 21:45:15 +02:00
Philipp Holzer 2054a787da
Fix HTTPRequestOptions at HTTPClient::post() 2021-08-25 21:31:30 +02:00
Philipp Holzer 0cafa871f1
Use HTTPRequestOptions constants for HTTPClient::get() 2021-08-25 21:31:30 +02:00
Philipp Holzer e9902401a5
Fixing HTTPClient::post() and introduce HTTPRequestOptions 2021-08-25 21:31:30 +02:00
Philipp Holzer 660a3cd247
Expose IHTTPClient::request() 2021-08-25 21:31:30 +02:00
Philipp Holzer 81ad618480
Merge branch 'task/httprequest_optimiziations' of https://github.com/nupplaphil/friendica into task/httprequest_optimiziations 2021-08-25 18:01:34 +02:00
Philipp Holzer 4ddaf49f53
Revert setCookieJar() and add overwrite parameter fpr rare cases 2021-08-25 18:01:07 +02:00
Philipp f10de08166
Update src/Network/IHTTPClient.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-08-25 17:02:42 +02:00
Philipp f00da9eccf
Update src/Network/IHTTPClient.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2021-08-25 17:02:34 +02:00
Philipp Holzer a6258cfbfa
Adapt description for "accept_content" 2021-08-25 14:28:59 +02:00
Philipp Holzer 12367648fa
Add suggestions 2021-08-25 14:22:43 +02:00
Philipp Holzer 7d251f092e
Add logpoint 2021-08-25 14:22:43 +02:00
Philipp Holzer f01d882e6c
Fix HTTPClient 2021-08-25 14:22:43 +02:00
Philipp Holzer 2356221aba
Fixup HTTP headers for httpClient requests 2021-08-25 14:22:43 +02:00
Philipp Holzer 10e6089405
Fixing https://github.com/friendica/friendica/issues/10473#issuecomment-903993836 2021-08-25 14:22:42 +02:00
Philipp Holzer 3eb2abdb2a
Adapt tests 2021-08-25 14:22:42 +02:00
Philipp Holzer 8385ee7a61
Use mattwright/urlresolver for HTTPClient::finalUrl() 2021-08-25 14:22:42 +02:00
Philipp Holzer e576af218b
Use Guzzle for HTTPClient::post() 2021-08-25 14:22:42 +02:00
Philipp Holzer 736277dcf0
Refactor HTTPClient::get() / ::head() 2021-08-25 14:22:42 +02:00
Philipp Holzer 52c7948526
Create HTTPClientFactory and introduce ImageTest 2021-08-25 14:22:42 +02:00
Hypolite Petovan 17944c01ea Allow a GuzzleResponse body to be queried more than once
- Using `StreamInterface->getContents` left the stream index at the end of the stream, which made every subsequent call to `getBody()` return empty string
- Using `StreamInterface->__toString()` magic method correctly seek the stream to the start before reading
2021-08-24 11:30:11 -04:00
Philipp Holzer ff2d85b703
Initialize $curlOptions[CURLOPT_HTTPHEADER] outside of the checks 2021-08-22 22:49:55 +02:00
Philipp Holzer c3eca0cfae
Remove legacy header-parsing for guzzle 2021-08-22 22:43:28 +02:00
Philipp Holzer 8f13319c73
remove unused $redirect parameter 2021-08-20 22:30:54 +02:00
Philipp Holzer 9eba32226c
make CS happy :) 2021-08-20 22:11:36 +02:00
Philipp Holzer 65ca164487
A lot of Fixings 2021-08-20 21:35:14 +02:00
Philipp Holzer 06371d29a6
Cleanup 2021-08-20 20:03:42 +02:00
Philipp Holzer a338e4cbff
Update src/Network/GuzzleResponse.php 2021-08-20 19:58:42 +02:00
Philipp Holzer 756f57f198
Revert "Use last entry for Content-Type 2021-08-20 19:58:42 +02:00
Philipp Holzer 50e2478189
Remove unnecessary exception message (avoid log flooding) 2021-08-20 19:58:42 +02:00
Philipp Holzer 1995feff61
Fix redirect logging 2021-08-20 19:58:42 +02:00
Philipp Holzer 26401e88b8
IHTTPResult::getContentType is now a string again 2021-08-20 19:58:42 +02:00
Philipp Holzer 82f767f2ee
Fix Content-Type for CurlResult class 2021-08-20 19:58:42 +02:00
Philipp Holzer 803c1d71de
Fix IHTTPResult::getHeader()
- Now returns a string array, like expected
- Fix usages
- Fix dataset
2021-08-20 19:58:42 +02:00
Philipp Holzer 3c074ab315
HTTPRequest: Replace getInfo() with new parameter 'content_length' 2021-08-20 19:58:42 +02:00
Philipp Holzer 89f718ec72
Use CurlResult for failed HTTPRequests (legacy usage) 2021-08-20 19:58:42 +02:00
Philipp Holzer dee1899628
Fix IHTTPResult::getHeader/s()
- Split functionality "getHeader()" and "getHeaders()" analog to IMessageInterface::getHeader/s()
- Fix functionality at various places - Adapt CurlResultTest
2021-08-20 19:58:42 +02:00
Philipp Holzer a60ca4a1cf
Use Guzzle for HTTPRequest and Result 2021-08-20 19:58:42 +02:00
Philipp Holzer 05ecd1e3d4
Replace IHTTPResult for CurlResult usages 2021-08-20 19:58:42 +02:00
Philipp Holzer 7009d90add
Introduce IHTTPResult Interface as abstraction for CurlResult 2021-08-20 19:58:42 +02:00
Hypolite Petovan 6f13663c45 Return early if body is empty in Network\Probe::updateFromFeed
- Address https://github.com/friendica/friendica/issues/10473#issuecomment-894815271
2021-08-17 09:35:44 -04:00
Michael bee04f86ee Matrix addresses can be entered in the profile 2021-08-09 01:39:09 +00:00
Michael d6c25dc63c Handle profile page detection without a type 2021-08-05 11:37:04 +00:00
Michael 9f19adf8bb Use the general function ro create an avatar path 2021-08-02 22:28:42 +00:00
Hypolite Petovan dfb043ce60 Add Exception for empty User::getOwnerDataById(0 return case in Protocol\ActivityPub\Transmitter::getProfile()
- Address https://github.com/friendica/friendica/issues/10473#issuecomment-882781552
- Add try-catch blocks to all references of Protocol\ActivityPub\Transmitter::getProfile()
2021-07-27 16:46:08 -04:00
Michael c89533a70b Support for stacked profiler analysis 2021-07-27 04:57:29 +00:00
Michael 2647514603 Detection of local requests 2021-07-19 06:14:14 +00:00
Michael 01abea7c25 Don't probe non existing local contacts 2021-07-19 04:49:58 +00:00
Michael aa6313dee6 Improved detection for a local contact 2021-07-19 04:15:57 +00:00
Michael 09aa496387 Some more places changed to the new contact avatar path format 2021-06-30 16:58:46 +00:00
Michael fe07dc828b Fix noscrape publishing and pulling, added header 2021-06-17 11:23:32 +00:00
Philipp Holzer 965cd8b096
Fix PHP 7.0 Coding Standards 2021-05-22 23:47:35 +02:00
Michael 5a00902e11 Avoid HTML parsing of an empty body 2021-04-10 05:46:19 +00:00
Balázs Úr 054c301ef0 Update copyright 2021-03-29 08:40:20 +02:00
Hypolite Petovan 77b24a0b66
Quit earlier in ProbeURL->getFeedLink if body is empty 2021-02-23 16:06:34 -05:00
Adam Clark 8248f6942f Quit when message is empty, similar to #9681 2021-02-23 10:16:59 -08:00
Michael fec5f2c217 Fix a notice when the path is empty 2020-12-31 07:54:56 +00:00
Michael e22bb32247 Store the network profiler data 2020-12-17 06:23:03 +00:00
Hypolite Petovan 61aa4efa89 Account for missing contact in dfrn_request_post
- Address https://github.com/friendica/friendica/issues/9250#issuecomment-743407998
2020-12-13 12:18:10 -05:00
Philipp Holzer d524a9569f
lower loglevel 2020-10-18 22:32:36 +02:00
Philipp Holzer a74d88c4ee
Remove 'headers' option occurrences and add a warning if used. 2020-10-18 22:31:26 +02:00
Philipp Holzer c19f1a83ce
Remove option 'novalidate' flag from HTTPRequest options 2020-10-18 22:23:07 +02:00
Philipp Holzer 54d78f9ce1
Removed completely un-used 'http_auth' option from HTTPRequest 2020-10-18 22:19:03 +02:00
Philipp Holzer 61da51c2d5
Add HTTPRequest::head() function 2020-10-18 22:15:53 +02:00
Philipp Holzer a6fc9cd32e
Remove $binary flag for HTTPRequest::get(), HTTPRequest::fetch(), HTTPRequest::fetchAll() (deprecated since PHP 5.1.3) 2020-10-18 20:56:31 +02:00
Philipp Holzer 909da78e20
Revert "Introduce IHTTPResult Interface as abstraction for CurlResult"
This reverts commit f238f4ef
2020-10-11 23:26:22 +02:00
Philipp Holzer b70b9d1139
Revert "Replace IHTTPResult for CurlResult usages"
This reverts commit 97167d7b
2020-10-11 23:26:17 +02:00
Philipp Holzer 0aaad3e392
Revert "Use Guzzle for HTTPRequest and Result"
This reverts commit fff94563
2020-10-11 23:26:12 +02:00
Philipp Holzer 069753416d
Revert "Fix IHTTPResult::getHeader/s() - Split functionality "getHeader()" and "getHeaders()" analog to IMessageInterface::getHeader/s() - Fix functionality at various places - Adapt CurlResultTest"
This reverts commit 933ea7c9
2020-10-11 23:26:03 +02:00
Philipp Holzer 9536a0e39c
Revert "Use CurlResult for failed HTTPRequests (legacy usage)"
This reverts commit 1a42f35a
2020-10-11 23:25:51 +02:00
Philipp Holzer 2e8ad098b9
Revert "HTTPRequest: Replace getInfo() with new parameter 'content_length'"
This reverts commit f3cd973c
2020-10-11 23:25:47 +02:00
Philipp Holzer 0449077126
Revert "Fix IHTTPResult::getHeader() - Now returns a string array, like expected - Fix usages - Fix dataset"
This reverts commit 80bd0a4d
2020-10-11 23:25:40 +02:00
Philipp Holzer 6fcbb9866f
Revert "Fix Content-Type for CurlResult class"
This reverts commit 02bc99f6
2020-10-11 23:25:33 +02:00
Philipp Holzer 40349bfdc4
Revert "IHTTPResult::getContentType is now a string again"
This reverts commit 40b11442
2020-10-11 23:25:29 +02:00
Philipp Holzer 88c95a352b
Revert "Fix redirect logging"
This reverts commit b8314f0c
2020-10-11 23:25:23 +02:00
Philipp Holzer 36ba6b9f2d
Revert "Remove unnecessary exception message (avoid log flooding)"
This reverts commit 8c718515
2020-10-11 23:25:19 +02:00
Philipp Holzer 16f5965fd4
Revert "Use last entry for Content-Type"
This reverts commit e17befb7
2020-10-11 23:25:14 +02:00
Philipp Holzer ef06fab744
Revert "Update src/Network/GuzzleResponse.php"
This reverts commit 79e667b3
2020-10-11 23:24:40 +02:00
Philipp Holzer b526e6b415
Fix GuzzleHttpClient
- Add sink (= specify temp store for the body)
- Fix HTTP header merge
2020-10-11 21:45:52 +02:00
Philipp 79e667b3d1
Update src/Network/GuzzleResponse.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2020-10-11 00:33:36 +02:00
Philipp Holzer e17befb7d6
Use last entry for Content-Type 2020-10-10 23:11:30 +02:00
Philipp Holzer 8c7185154d
Remove unnecessary exception message (avoid log flooding) 2020-10-10 23:11:30 +02:00
Philipp Holzer b8314f0c30
Fix redirect logging 2020-10-10 23:11:30 +02:00
Philipp Holzer 40b11442c2
IHTTPResult::getContentType is now a string again 2020-10-10 23:11:30 +02:00
Philipp Holzer 02bc99f67b
Fix Content-Type for CurlResult class 2020-10-10 23:11:30 +02:00
Philipp Holzer 80bd0a4d5a
Fix IHTTPResult::getHeader()
- Now returns a string array, like expected
- Fix usages
- Fix dataset
2020-10-10 23:11:30 +02:00
Philipp Holzer f3cd973cbe
HTTPRequest: Replace getInfo() with new parameter 'content_length' 2020-10-10 23:11:30 +02:00
Philipp Holzer 1a42f35a3c
Use CurlResult for failed HTTPRequests (legacy usage) 2020-10-10 23:11:30 +02:00
Philipp Holzer 933ea7c9ce
Fix IHTTPResult::getHeader/s()
- Split functionality "getHeader()" and "getHeaders()" analog to IMessageInterface::getHeader/s()
- Fix functionality at various places
- Adapt CurlResultTest
2020-10-10 23:11:30 +02:00
Philipp Holzer fff94563d7
Use Guzzle for HTTPRequest and Result 2020-10-10 23:11:30 +02:00
Philipp Holzer 97167d7b90
Replace IHTTPResult for CurlResult usages 2020-10-10 23:11:30 +02:00
Philipp Holzer f238f4efbe
Introduce IHTTPResult Interface as abstraction for CurlResult 2020-10-10 23:11:30 +02:00
Philipp Holzer 8318a0b640
Move ExAuth, FKOAuth1 & FKOAuthDataStore to own namespace Friendica\Security 2020-09-30 11:14:01 +02:00
Michael 98a905a4c2 Remove unneeded function 2020-09-16 05:05:15 +00:00
Michael 55e169db49 Configurable list of domains to ignore redirects 2020-09-16 04:56:37 +00:00
Michael 5af713b336 Issue 9137: Fix "Incorrect integer value:" 2020-09-06 09:41:32 +00:00
Michael cbf1e5c699 New field "manually-approve" for contact table 2020-09-02 03:02:50 +00:00
Michael 41c96f787d Use the AP adress for probing webfinger 2020-08-23 07:24:39 +00:00
Michael 4285f4643f Fix Test 2020-08-22 15:19:34 +00:00
Michael eb95314aaa Avoid locally probing last item via network 2020-08-19 04:45:31 +00:00
Michael d9fc0ae0ea Using a constant value for the default avatar 2020-08-18 20:30:24 +00:00
Michael 76bcf27130 "localProbe" is used only locally 2020-08-18 19:48:14 +00:00
Michael 5aba1df497 Use "User::getIdForURL" 2020-08-18 19:45:01 +00:00
Michael f1a8db4e76 Use the owner data to collect all data 2020-08-18 17:30:48 +00:00
Michael c3bfa9f1c1 Don't probe on local profiles via network 2020-08-18 16:42:01 +00:00
Michael 998c83eacb Avoid loop situations and connection timeouts 2020-08-18 03:55:27 +00:00
Michael 7b13b7e9c8 Reworked "getIdForURL" 2020-08-07 13:49:59 +00:00
Michael f09d9bc9cc Remove url caching, locking cleanup 2020-08-06 18:53:45 +00:00
Michael cd99b9706b Check for empty baseurl 2020-08-05 07:51:15 +00:00
Michael fd62629285 Probe for the date of the last item 2020-08-05 06:50:51 +00:00
Hypolite Petovan afb882048e Generate callstack value from inside Profiler::saveTimestamp
- Save a massive amount of time computing callstacks when profiling is disabled
2020-07-27 02:33:05 -04:00
Michael bdbe6771fd Fix Notice: "Undefined index: host" 2020-07-25 08:07:22 +00:00
nupplaPhil 0a421064a5 Introduce interface "IHTTPRequest" (rely on abstractions, not on concrete implementations) 2020-07-21 03:17:05 -04:00
nupplaPhil 657d08f09f Rename "fetchUrl" and "fetchUrlFull" to "fetch" and "fetchFull" 2020-07-21 03:15:53 -04:00
nupplaPhil 7029012f27 Rename "HTTPRequest::curl()" to HTTPRequest::get() 2020-07-21 03:14:01 -04:00
nupplaPhil e5649d6dbf Move "HTTPRequest::finalUrl" dynamic 2020-07-21 03:10:10 -04:00
nupplaPhil 60e18736b0 Move "Network::finalUrl" to "HTTPRequest" class 2020-07-21 03:09:40 -04:00
nupplaPhil 57587efe58 Move "getUserAgent()" to "HTTPRequest" class 2020-07-21 03:04:58 -04:00
nupplaPhil cebdcb6599 Fixing post() 2020-07-21 03:04:58 -04:00
nupplaPhil 1aa07f87a4 Make "HTTPRequest::fetchUrl" dynamic 2020-07-21 03:04:58 -04:00
nupplaPhil 3b4cf87c95 Make "HTTPRequest::fetchUrlFull" dynamic 2020-07-21 03:02:52 -04:00
nupplaPhil 8793096c16 Make "HTTPRequest::post" dynamic 2020-07-21 03:02:51 -04:00
nupplaPhil 2973ed6448 Make "HTTPRequest::curl" dynamic 2020-07-21 03:01:12 -04:00
nupplaPhil 9d00e4f1bc Introduce HTPPRequest DI call and constructor 2020-07-21 02:56:10 -04:00
nupplaPhil 5344efef71 Move post/curl/fetchUrl/fetchUrlFull to own class "Network\HTTPRequest" 2020-07-21 02:56:10 -04:00
Michael 99de216d15 Issue 8844: Fiy probing of unknown AP contacts 2020-07-07 04:47:15 +00:00
Michael c947b7f211 "print_r" in logging replaced / obsolete stuff removed 2020-06-29 20:22:00 +00:00
Michael 2350c6ab57 Replace deprecated Logger calls 2020-06-28 15:43:58 +00:00
Hypolite Petovan 2c2db55298 Add support for mobile profile URL to core twitter probing 2020-06-26 12:52:40 -04:00
Michael d8f9bb1e0a Unify code structure 2020-06-25 20:41:34 +00:00
Michael 4d986526f9 Issue 8807: Improved feed detecting 2020-06-25 20:29:21 +00:00
Michael b948887221 Reduced network request when probing 2020-06-14 13:37:28 +00:00
Michael Vogel 9b85d0b16e
Merge pull request #8740 from MrPetovan/task/frio-improve-share-display
[frio] Improve share blocks display
2020-06-11 07:32:29 +02:00
Hypolite Petovan 7919860274
Merge pull request #8757 from annando/simplify-probe
Simplify the probing process
2020-06-10 15:33:03 -04:00