Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); fix(CURLRequest): multiple header sections after redirects by ducng99 · Pull Request #9426 · codeigniter4/CodeIgniter4 · GitHub
Skip to content

fix(CURLRequest): multiple header sections after redirects - #9426

Merged
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects
Jan 23, 2025
Merged

fix(CURLRequest): multiple header sections after redirects#9426
paulbalandan merged 8 commits into
codeigniter4:developfrom
ducng99:fix/curl_multiple_header_sections_after_redirects

Conversation

@ducng99

@ducng99ducng99 commented Jan 20, 2025

Copy link
Copy Markdown
Contributor

Description
Fixes an issue where multiple header sections are returned if there are redirects. The original code would only parse the first header section, and treated the rest as body. For example:

With output:

HTTP/2 308content-type: text/html; charset=utf-8content-length: 211location: http://example.comdate: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

$response->getBody() returns:

HTTP/2 200content-type: text/html; charset=utf-8content-length: 211date: Mon, 20 Jan 2025 11:46:34 GMTserver: nginx/1.21.6vary: OriginHello world

With these changes, the redirect header section is stripped out, only the latest header section is parsed (the 200 one in this example), and body is Hello world.

Not sure if this issue has been discussed before but I couldn't find an issue related to this.

My machine details:
Ubuntu 24.04
PHP 8.2.27
libcurl 7.88.1

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog entry here: https://github.com/codeigniter4/CodeIgniter4/blob/develop/user_guide_src/source/changelogs/v4.6.1.rst under the "Bugs Fixed" section. Please follow the style from the previous changelogs.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@paulbalandanpaulbalandan added the bug Verified issues on the current code behavior or pull requests that will fix them label Jan 20, 2025
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from ae7688f to 72c5158CompareJanuary 20, 2025 20:49
@ducng99
ducng99 marked this pull request as draft January 20, 2025 20:54
@ducng99

Copy link
Copy Markdown
ContributorAuthor

Change to draft as I need to add checks for Location: header as well.
In cases where a 3xx code is returned but no Location header so curl won't redirect but we strip out the only header section.

Comment threadsystem/HTTP/CURLRequest.php Outdated
@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 6e2f2a6 to 4722795CompareJanuary 20, 2025 21:19
@ducng99
ducng99 marked this pull request as ready for review January 20, 2025 21:39

@michalsnmichalsn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you.

Comment threaduser_guide_src/source/changelogs/v4.6.1.rst Outdated
@samsonasik

Copy link
Copy Markdown
Member

please check phpstan and rector notice

@ducng99

ducng99 commented Jan 21, 2025

Copy link
Copy Markdown
ContributorAuthor

@samsonasik Can you double check those notices please? I think I'm missing something here, they are about other files that have nothing to do with my changes. Thanks

Also composer analyze returns OK on my local machine

@neznaika0

Copy link
Copy Markdown
Contributor

@ducng99
ducng99force-pushed the fix/curl_multiple_header_sections_after_redirects branch from 5defc18 to cc521d9CompareJanuary 22, 2025 21:30
@ducng99

Copy link
Copy Markdown
ContributorAuthor

@neznaika0@paulbalandan
An update to phpstan is causing errors in development branch, as the errors are not part of this PR, can you check them please?

As for the rector notice, the file is also not part of this PR, the reported line system/HTTP/Exceptions/RedirectException.php:75 had a pass before, see Rector check with changes for 190f720
May be rector was also updated?

In any case, these two files are not part of this PR so I can't push fixes for them here

@paulbalandan

Copy link
Copy Markdown
Member

Hi @ducng99 I see that the failing tests are not related to your changed files, so you can ignore that.

@paulbalandan
paulbalandan merged commit 909e9b0 into codeigniter4:developJan 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugVerified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ducng99@samsonasik@neznaika0@paulbalandan@michalsn