Browsermob-Proxy
view release on metacpan or search on metacpan
lib/Browsermob/Proxy/CompareParams.pm view on Meta::CPAN
=head2 convert_har_params_to_hash
This isn't exported by default; we wouldn't expect that you'd need to
use it. But, if you're interested: the har format is a bit unwieldy to
work with. The requests come in an array of objects. Each object in
the array is a hash with a request key which points to an object with
a queryString key. The queryString object is an array of hashes with
name and value keys, the values of which are the actual query
params. Here's an example of one request:
[0] {
...
request {
...
queryString [
[0] {
name "query",
value "string"
},
[1] {
name "query2",
value "string2"
},
],
url "http://127.0.0.1/b/ss?query=string&query2=string2"
},
...
}
This function would transform that request into an array of hash
objects where the keys are the param names and the values are the
param values:
\ [
[0] {
query "string"
query2 "string2"
}
]
=head1 FUNCTIONS
=head2 replace_placeholder_values
Takes two arguments: a HAR or the C<->{log}->{entries}> of a HAR, and
an assert hashref. If the assert has a value that starts with a colon
C<:>, and that value exists as a key in any of the HAR's actual query
parameter pairs, we'll replace the asserted value with the matching
assert's key.
An example may help make this clear: say you assert the following
hashref
$assert = {
query => 'param',
query2 => ':query'
};
and your HAR records a request to a URL with the following params:
C</endpoint?query=param&query2=param>. We'll return you a new
C<$assert>:
$assert = {
query => 'param',
query2 => 'param'
};
=head2 collect_query_param_keys
Given a HAR, or a the entries array of a HAR, we'll return a list of
all of the keys that were used in any of the query parameters. So if
your HAR contains a call to C</endpoint?example1&example2> and another
call to C</endpoint?example2&example3>, we'll return C<[ qw/ example1
example2 example3 ]>.
=head1 SEE ALSO
Please see those modules/websites for more information related to this module.
=over 4
=item *
L<Browsermob::Proxy|Browsermob::Proxy>
=back
=head1 BUGS
Please report any bugs or feature requests on the bugtracker website
https://github.com/gempesaw/Browsermob-Proxy/issues
When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired
feature.
=head1 AUTHOR
Daniel Gempesaw <gempesaw@gmail.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Daniel Gempesaw.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 0.578 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )