I've been writing tests for a Dancer2 app. I'm using Plack::Test. One thing that I wanted to test was that logged in users get a different view of the app to logged out visitors. For that I need to set cookies on the requests that I'm sending to the test app. I found this advent calendar article by SawyerX which looked very useful. http://advent.perldancer.org/2014/12 Following the instructions in that article, I did this: my $res = $test->request(POST '/login', [ \%test_user_creds ]); $jar->extract_cookies($res); I can look at $jar->as_string before and after that line, and I seen the session cookie being added to the jar. Later I do this: my $req = GET "/$private_page"; $jar->add_cookie_header($req); my $res = $test->request( $req ); This doesn't work. And it doesn't work because the session cookies don't get added to the request object. $jar is a HTTP::Cookies object, so I looked at the add_cookie_header() method, to find this code at the start: my $self = shift; my $request = shift || return; my $url = $request->uri; my $scheme = $url->scheme; unless ($scheme =~ /^https?\z/) { return; } This is where my test goes wrong. My request is just "/$private_page" - it doesn't have a $scheme (or, indeed, a hostname). And I guess it's obvious that add_cookie_header needs a domain in order to know which cookies from the jar to add (my jar only has the correct cookies - but the method can't know that). Looking at the cookie jar, I see that the cookies have been given the domain "localhost.local". Can I just add "http://localhost.local" to the front of my request URL? Is that guaranteed to work in all test environments? Am I missing something here or did that code in the advent calendar article never work? Any advice much appreciated. Cheers, Dave...