Page MenuHomePhabricator

Allow empty Reason-Phrases

Authored by nfirmani on Aug 31 2018, 11:24 PM.
Referenced Files
Unknown Object (File)
Sat, May 27, 11:20 PM
Unknown Object (File)
Mar 29 2023, 5:56 PM
Unknown Object (File)
Mar 24 2023, 7:39 AM
Unknown Object (File)
Mar 16 2023, 7:08 PM
Unknown Object (File)
Mar 10 2023, 8:09 PM
Unknown Object (File)
Mar 6 2023, 8:16 AM
Unknown Object (File)
Feb 21 2023, 6:08 PM
Unknown Object (File)
Jan 13 2023, 8:57 AM



According to RFC 7230, the reason-phrase section of a HTTP response can be empty. This regex expects a space before an optional reason-phrase. This diff patches it so the space is optional as well.

I discovered recently when integrating a JIRA instance with a self hosted version of Phabricator that the JIRA OAUTH endpoint would respond with just HTTP/1.1 200 instead of the much more common HTTP/1.1 200 OK message. This caused this regex to fail to match the successful response and JIRA account linking to fail, disappointing my corporate overlords.

Test Plan

I tested this regex in isolation using a scratch PHP file to check its behavior. I then patched it into our instance of Phabricator and tried linking a JIRA account to a Phabricator account and saw that it succeeded.

An example response that would not parse correctly before is

HTTP/1.1 200

Content-Type: text/plain


Diff Detail

rPHU libphutil
Lint Not Applicable
Tests Not Applicable

Event Timeline

PhutilHTTPResponseParser and the actual test coverage on that should get this change too since parseRawHTTPResponse() is theoretically on the chopping block, but I can take care of that. Thanks!

This revision is now accepted and ready to land.Sep 4 2018, 3:22 PM
This revision was automatically updated to reflect the committed changes.