Skip to content

Detect readable cookie inputs through their read interface - #97

Open
OskarEichler wants to merge 2 commits into
sparklemotion:masterfrom
OskarEichler:codex/accept-read-only-cookie-streams
Open

Detect readable cookie inputs through their read interface#97
OskarEichler wants to merge 2 commits into
sparklemotion:masterfrom
OskarEichler:codex/accept-read-only-cookie-streams

Conversation

@OskarEichler

Copy link
Copy Markdown

Summary

Recognize readable stream objects using read, as documented, instead of testing for write.

Reproduction and verification

A read/each_line-only reader is treated as a filename and raises TypeError. The fix loads it correctly. Four additional assertions verify actual Zlib::GzipReader round trips through YAML and cookies.txt and return values.

Verified this patch independently on master with Ruby 4.0.6 and SQLite3 2.9.6: existing rake test suite 144 tests, 2,870 assertions, zero failures/errors. Targeted syntax and git diff --check pass. Comparative RuboCop Lint adds no offenses (baseline 40; cleanup patch removes one). This repository does not configure a Ruby lint suite, so the comparison is supplementary, not a claim of clean full lint.

Focused checks are external scratch scripts. No repository tests were added or modified because this contribution's task explicitly prohibits test-file changes. All data is synthetic; SQLite checks use temporary/in-memory local databases. Other Ruby versions and upstream CI are not locally verified. Runtime source at installed v1.1.6 is identical apart from its version constant; consumer backports will retain that release instead of adopting the unreleased version/Ruby requirement.

Compatibility / breaking changes

No API or dependency changes. Readable streams without write are now accepted. Objects exposing only write are no longer incorrectly classified as readable inputs.

@OskarEichler
OskarEichler requested a review from knu as a code owner August 27, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant