Closed zoffixznet closed 5 years ago
This has long been in the planning stage but has been held up by lack of progress on object attribute mutators which, AFAIK, still don't work. See https://github.com/perl6/roast/blob/master/S12-attributes/mutators.t
To explain a bit more the plan was that you should be able to say:
my URI $u .= new;
$u.scheme = 'http';
$u.host = 'doc.perl6.org';
$u.path = '/language/faq';
$u.query-form = num => 100, hl => 'en';
say $u;
And this is how I envisioned the future of creating / modifying URIs. It looks like the rakudo development team has been busy with other priorities. If anyone wants to petition the powers that be to make mutators a priority I would certainly be grateful for the help. There is, I believe, a related RT #124909. I am also open to other suggestions.
BTW there is also one more RT of relevance and interest: RT #126520
I believe what you're requesting already works:
[17:08] <ZoffixGaming> m: class URI { has $.scheme is rw; has $.host is rw; method gist { "$!scheme://$!host" } }; my $u = URI.new; $u.scheme = 'http'; $u.host = 'doc.perl6.org'; say $u
[17:08] <camelia> rakudo-moar e2e23f: OUTPUT«http://doc.perl6.org»
There was a relevant IRC discussion here http://irclog.perlgeek.de/perl6/2015-12-07#i_11674007. I believe something reasonable to be feasible with subsets at this point.
star-m: use IETF::RFC_Grammar::URI; subset ValidScheme of Str where /<IETF::RFC_Grammar::URI::scheme>/; class URI2 { has ValidScheme $.scheme is rw; has $.host is rw; method gist { "$!scheme://$!host" } }; my $u = URI2.new; $u.scheme = q!\\//!; $u.host = "?"; say $u
23:54 camelia star-m 2015.09: OUTPUT«Type check failed in assignment to '$!scheme'; expected 'ValidScheme' but got 'Str' in block <unit> at /tmp/EiEhZYitx4:1»
I've been thinking about this and also thinking about it in context of Jonathan's recent manifesto on simple accessors and mutators in Perl 6. I also have a prototype that adds mutators to the elements of URI here: https://github.com/zostay/uri/tree/mutators
I can finish the work here as is, but I'm considering replacing the is rw
mutators with setter methods instead because:
$.port
), are heavy accessors, e.g., returning either the real value or the default.authority
accessor/mutator is synthetic, which is a heavy accessor/mutator by definition.$.path
and $.authority
values are tied together, so the value of one influences which values are permitted to keep a consistent URI object, which makes setting these attributes even more complicated than any I've finished coding yet.Instead of my implementation, I want to suggest that the implementation of setters and getters be handled via multi-methods rather than as is rw
accessor/mutator methods. That is, I think the implementation shown here below will be more Perlish than what is in my current WIP.
subset Port of UInt;
multi method port(URI:D: ) { ... }
multi method port(URI:D: Port $new) { ... }
subset Authority of Str where /^[ '' || <IETF::RFC_Grammar::URI::authority> ]$/;
multi method authority(URI:D: ) { ... }
multi method authority(URI:D: Authority:D $new) { ... }
I like much of what I saw on your URI with mutators but was thinking of a different approach. You are extending the existing module by keeping the URI components as strings with subset restrictions. Perl 6 is more object oriented than Perl 5 and an authority might be viewed as a structured object with a host, port,
host_type (like enum host-type <IPV4 IPV6 domain>
), userinfo etc. "docs.perl6.org:8080" is a standard serialization of the object which has a parse method based on the grammar. There might be a use for JSON or other possible serializations.
I don't understand the connection between path
and authority
(did you mean scheme
?).
The same approach could apply to path
, whose object might have an underlying list of segments, and query. Your approach is simpler, more incremental and looks deliverable in the near future. I feel the possibility of a URI object hierarchy is at least worth mentioning for this issue and might be helpful to keep in mind during development of the string subset implementation.
According to RFC, values that are legal for path vary depending on whether the authority is present or not.
Making authority and path into objects with sub-components is a good idea. I see that as a refinement of what I've done, not as a different approach. I can incorporate that. I suppose query and query-form could be handled that way too by making something that stringifies to the query, but otherwise behaves similar to a Hash::MultiValue.
Though, this begins to run into the problems described in #33, which is that some of these changes will necessarily break certain contracts that existing users expect.
My mutators branch now contains a draft implementation of mutators for every component of the URI. These are only basically tested so far and I still need to tighten things up all over the place, but I'm pleased with how it's shaping up.
I have gone ahead and build a URI::Authority class to handle $!authority
which helped eliminate some ugliness. This naturally led to some interesting consequences I hadn't considered before, e.g.,
my $uri = $u.parse('/foo/bar');
$uri.port(8000); # EXCEPTION: «X::URI::Authority::Invalid: Could not parse URI authority: :8000»
$uri.host("localhost"); # never run
# Better would be
$uri.authority = URI::Authority.new(host => 'localhost', port => 8000);
# OR
$uri.authority("localhost:8000");
# OR
$uri.host("localhost"); # constructs Authority.new(:host('localhost'))
$uri.port(8000);
It might be slightly unintuitive to some that the order of operations is important here, so I will probably amend the message on X::URI::Authority::Invalid to give a hint like "Maybe you meant to set .host first?" That's just part of the tightening up that needs to happen.
I'm now considering how I want to tackle path/segments and then will move on to query/query-form.
I really appreciate any comments anyone wants to offer and the comments. Thanks, @ronaldxs, for you comments. They have been extremely helpful.
I really want to get this in order so I can get back to finishing up the reference implementation for P6WAPI, which is stuck on URI because I really need the mutators to avoid obfuscating some of the request manipulations I need to do over there.
I think the implementation I have been working on for making URI mutable is nearly complete. I need to update the documentation and make more tests, but I'm relatively happy with the way it works. The most controversial change it makes is a breaking change to query-form in that using it as a hash will always return lists of values by default. However, this behavior is configurable:
my $u = URI.parse("/home?foo=hello&foo=world&bar=bye");
dd $u.query-form<foo>; #> $("hello", "world")
dd $u.query-form<bar>; #> $("bye")
$u.query.hash-format = URI::Query::Singles; #URI::Query::Lists is default
dd $u.query-form<foo>; #> "world"
dd $u.query-form<bar>; #> "bye"
$u.query.hash-format = URI::Query::Mixed;
dd $u.query-form<foo>; #> $("hello", "world")
dd $u.query-form<bar>; #> "bye"
I considered making Mixed the default behavior, but I think the default behavior ought to be the safest, most robust available, which is clearly the Lists mode. I also considered avoiding the $.hash-format
setting and returning a special URI::Query::Value instead that would act like a single value when used as a string or item or as a list, but that seemed dangerously magical to me.
I suppose the other controversial decision is that URI.query
and URI.query-form
are basically synonyms now. I'm thinking of deprecating query-form
.
What would be the best way of doing this? Merging @zostay 's branch?
Well the PR has some test failures when merged to the current HEAD :
t/01.t (Wstat: 65280 Tests: 12 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 48 tests but ran 12.
t/authority.t (Wstat: 256 Tests: 19 Failed: 0)
Non-zero exit status: 1
Parse errors: No plan found in TAP output
t/mutate.t (Wstat: 256 Tests: 11 Failed: 0)
Non-zero exit status: 1
Parse errors: No plan found in TAP output
It would be rebase the PR against master and fix the failures and the merge conflict in the README if @zostay has a minute to look at that?
Actually the fix for the test failures is trivial
diff --git a/lib/URI.pm b/lib/URI.pm
index d1856b8..90a8423 100644
--- a/lib/URI.pm
+++ b/lib/URI.pm
@@ -38,7 +38,7 @@ class Authority {
multi method new(Authority:U: Match:D $auth) {
my Str $userinfo = do with $auth<userinfo> { .Str } else { '' }
my Str $host = "$auth<host>".lc;
- my UInt $port = do with $auth<port> { .Int } else { Nil }
+ my UInt $port = do with $auth<port> { .Int } else { Int }
self.new(:$userinfo, :$host, :$port);
}
So given the merge conflict isn't a biggy, we could merge but I'm not going to make the call as only a few people have actually commented on the change.
Please also consider my comments on PR #34 from July 9, 2017.
Yep noted, would a way forward be to fix up the #34 as-is then bring it into a branch in this repository so it has a better visibility and people can fix up any infelicities that they see? I'll do that this afternoon if people think this is a good idea.
Okay I'll do it as I have that up to date now. I'll close the #34 and create a new PR on a branch here so that everyone can alter it as they wish.
Before merging I'd like to see a smoke test against modules that depend on this, and maybe at least a test to check that it does actually address @zoffixznet original suggestion.
Okay I've pushed all that to https://github.com/perl6-community-modules/uri/tree/zostay-mutators I held off on making a new PR as, frankly, the forking is all a bit much for me and I didn't want to make it in the wrong place.
One year later... and I could really use the changes described here. What do we need to make some progress?
@ufobat For someone to volunteer their time and expertise to look at https://github.com/perl6-community-modules/uri/commits/zostay-mutators, possibly fix it, document and merge it along with tests, bump module version. Community modules do not have maintainers, so anyone is able to maintain it.
I'm just looking at rebasing the branch on the current master, but as it has been a while it may take some time to get it right.
I've got most of the tests working, the only part that is missing is the punycode fixes as that part of the code has been completely replaced. If I don't get it working this evening I'll push to the branch anyway so other people can look at it.
punycode fixes
Is a module used or a self-hosted implementation?
Anyhow I've just pushed a working rebase to https://github.com/perl6-community-modules/uri/commits/zostay-mutators -iit passes all the tests and should be good to merge, however it probably needs furter testing as I'm sure there have been fixes applied without tests.
Also the travis is failing for some reason that isn't clear.
@jonathanstowe The reason it fails is that Test::META uses https://modules.perl6.org/dist/Test::META:cpan:JSTOWE/META6.json#L18 URI module, and URI module tries to test itself with Test::META... So tests of Test::META fail https://travis-ci.org/perl6-community-modules/uri/builds/567616721#L396 like this and thus URI can't be installed, because its dependency was not installed.
Oh, so really that META test wants to be optional on the Test::META being installed.
Sorted
I've tested HTTP::UserAgent with the branch and it's fine. I'd recommend testing the branch with your favourite code before we merge.
Also tested with my (still) un-released Sofa which un-earthed the double escaping problem in the first place.
Will grep for URI in the other modules I have to hand and test them too.
Test::META ok LWP::Simple ok WebService::Soundcloud not ok :
Ambiguous call to 'AUTOGEN(URI: )'; these signatures all match:
:(URI:D: *%_)
:(URI: *%_)
in method build-url at /home/jonathan/devel/perl6/modules/WebService-Soundcloud/lib/WebService/Soundcloud.pm (WebService::Soundcloud) line 660
in method get-authorization-url at /home/jonathan/devel/perl6/modules/WebService-Soundcloud/lib/WebService/Soundcloud.pm (WebService::Soundcloud) line 364
in block <unit> at t/030-get.t line 40
Fixing.
Fixed that. Also upgraded some warnings to hard deprecations.
It would be a great boon if some people could review the #44 (also take a look at the AppVeyor fail,) and/or test some more modules with that branch. I'm not going to merge this without some explicit feedback.
BTW These are the modules that declare URI as a dependency
(updated deps with actual anchor in the grep.)
WebService::AWS::Auth::V4 is a fail with this:
Use of Nil in string context
in block at /home/jonathan/.rakudobrew/moar-master/install/share/perl6/site/sources/339D6695E181E001033D0E5525B6025A9DAE1C73 (URI) line 78
# Failed test 'correctly canonicalized empty'
# at t/basic.t line 70
# Type check failed in assignment to $path; expected Str but got URI::Path (URI::Path.new(path => "/", seg...)
# Failed test 'correctly canonicalized nonempty query'
# at t/basic.t line 76
# Type check failed in assignment to $path; expected Str but got URI::Path (URI::Path.new(path => "/home/d...)
# Failed test 'correctly match canonical request test from aws'
# at t/basic.t line 93
# Type check failed in assignment to $path; expected Str but got URI::Path (URI::Path.new(path => "/", seg...)
# You planned 26 tests, but ran 18
# You failed 3 tests of 18
I can get that to work with a couple of small changes (which are backward compatible,) it also needed some changes regarding escaping as this had changed under it since it was last updated.
PR https://github.com/bradclawsie/WebService-AWS-Auth-V4/pull/4
PodCache::Module is a fail:
No such method 'IO' for invocant of type 'URI::Path'
in block at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 496
in sub handle at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 484
in sub handle at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 296
in sub handle at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 230
in sub handle at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 242
in method process-pod at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 119
in submethod TWEAK at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Processed.pm6 (PodCache::Processed) line 47
in method processed-instance at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Render.pm6 (PodCache::Render) line 365
in method process-name at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Render.pm6 (PodCache::Render) line 395
in method process-cache at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Render.pm6 (PodCache::Render) line 383
in method update-collection at /home/jonathan/.zef/store/pod-render.git/02c49579afd206f85eb59113b30fc5344ff421f1/lib/PodCache/Render.pm6 (PodCache::Render) line 527
in block <unit> at t/150-html.t line 107
A simple Str
coercion should fix.
Bailador is a fail (though I'm not sure it's entirely due to this change:) @ufobat would you like to take a look? It is probably just a Str
coercion on some use of URI.path
which should be safe with as-is as well as the branch in question:
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/foo", ...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/01-OO-route-existence.t line 44
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/foo", ...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/01-route-existence.t line 42
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/foo", ...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/03-OO-response-content.t line 38
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/foo", ...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/03-response-content.t line 35
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/", seg...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/04-OO-templates-mustache.t line 22
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/", seg...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/04-OO-templates.t line 20
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/a", se...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/04-templates-mustache.t line 18
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/a", se...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/04-templates.t line 16
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/cook1"...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/06-OO-cookies.t line 90
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/cook1"...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/06-cookies.t line 84
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/07-OO-errors.t line 23
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/07-errors.t line 19
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/08-OO-sessions.t line 42
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/08-sessions.t line 40
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/app/so...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/09-OO-nested-routes.t line 55
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/x", se...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/09-prefix.t line 60
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/11-error-templates.t line 25
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/foo", ...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/12-duplicate.t line 26
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# You planned 3 tests, but ran 1
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/a", se...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/14-auto-head-generation-in-core.t line 31
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/file.t...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/15-file-serving.t line 15
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/16-test-headers.t line 19
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/file.t...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/17-test-content-type-handling-with-config.t line 35
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/file.t...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/17-test-content-type-handling.t line 32
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# Type check failed in binding to parameter '$text'; expected Str but got URI::Path (URI::Path.new(path => "/foobar...)\n in sub uri_decode at /home/jonathan/.zef/store/URI-Encode.git/5f4d747d38a16d1f8d1e572066ec9ef58323c9dc/lib/URI/Encode.pm6 (URI::Encode) line 34\n in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 340\n in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320\n
#
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in block <unit> at t/18-serve-single-file.t line 25
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
# You planned 17 tests, but ran 1
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-api.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-app.t line 16
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-class-app.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-controllers.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-echo.t line 16
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-err.t line 16
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block at t/30-examples-gradual.t line 21
in block <unit> at t/30-examples-gradual.t line 15
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-layout.t line 22
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block at t/30-examples-pastebin.t line 24
in block <unit> at t/30-examples-pastebin.t line 18
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-postapp.t line 16
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-prefix.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-request.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-reuse-inherit-app.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-reuse-mixed-app.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-reuse-shared-app.t line 17
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
Tried to get the result of a broken Promise
in sub get-psgi-response at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 80
in sub run-psgi-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/Test.pm (Bailador::Test) line 49
in block <unit> at t/30-examples-templates.t line 22
Original exception:
Type check failed in binding to parameter '$uri'; expected Str but got Any (Any)
in method log-request at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 248
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 355
in method dispatch at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 337
in block at /home/jonathan/.zef/store/Bailador-0.0.18.tar.gz/Bailador-0.0.18/lib/Bailador/App.pm (Bailador::App) line 320
===> Testing [FAIL]: Bailador:ver<0.0.18>:auth<github:Bailador>
@jonathanstowe will check it within the next couple of days!
Bailador is fixed in Version 0.0.19
Checked Bailador as fixed. Checked WWW::DuckDuckGo <- depends on HTTP::UserAgent and works just fine, the same for WWW::SilverGoldBull(at least it installs).
Nice one. Let's think about merging it midweek.
WebService::SOP was a fail, fixed by explicit coercions PR is https://github.com/yowcow/p6-WebService-SOP/pull/12
I'm going to merge #44 today. I propose closing this and dealing with the inevitable flurry of small issues separately.
Just do it. I was going to check what's the matter with the doc repo, but I guess I'll fix it afterwards. Thanks for your work.
I'm going to put a ticket to fix up the README as all the merging has left it with inconsistent markdown style which I didn't want to deal with.
It would be nice if you could build a URI from parts (and have it encode stuff properly without your involvement). If this is already possible, then it should be documented.
So, say something like this would print the full URI: