Robert B.: Perl & LWP::UserAgent & Cookie setzen

Beitrag lesen

Moin,

HTTP::Tiny

This constructor returns a new HTTP::Tiny object. Valid attributes include:

agent — A user-agent string (defaults to 'HTTP-Tiny/$VERSION'). If agent — ends in a space character, the default user-agent string is appended.

cookie_jar — An instance of HTTP::CookieJar — or equivalent class that supports the add and cookie_header methods

Das ist doch derselbe Mist -- dem Konstruktor eine Instanz einer anderen nicht verwandten Klasse zu übergeben. Warum wird die cookie_header methods nicht zu einer Methode der eigenen Instanz gemacht? Warum wird hier nicht Vererbung genutzt?

Darüber kann man sich wohl sehr gut streiten, worauf ich keine Lust habe. Ich verstehe das so, als dass cookie_jar hier als Interface verwendet wird – in der OOP ein vollkommen legitimes Anliegen. Man hat wohl einfach gesagt, wir bauen für Cookies ein Objekt, egal woher sie kommen (aus einer Datei oder per HTTP), anstatt ein Objekt für „alles HTTP“ und eines für Dateien. „There is more than one way to do it.“

Viele Grüße
Robert