This file is indexed.

/usr/share/perl5/WWW/OpenSearch/Url.pm is in libwww-opensearch-perl 0.17-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
package WWW::OpenSearch::Url;

use strict;
use warnings;

use base qw( Class::Accessor::Fast );

use URI::Template;

__PACKAGE__->mk_accessors( qw( type template method params ns ) );

=head1 NAME

WWW::OpenSearch::Url - Object to represent a target URL

=head1 SYNOPSIS

=head1 DESCRIPTION

=head1 CONSTRUCTOR

=head2 new( [%options] )

=head1 METHODS

=head2 prepare_query( [ \%params ] )

=head1 ACCESSORS

=over 4

=item * type

=item * template

=item * method

=item * params

=item * ns

=back

=head1 AUTHOR

=over 4

=item * Tatsuhiko Miyagawa E<lt>miyagawa@bulknews.netE<gt>

=item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>

=back

=head1 COPYRIGHT AND LICENSE

Copyright 2005-2013 by Tatsuhiko Miyagawa and Brian Cassidy

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. 

=cut

sub new {
    my ( $class, %options ) = @_;

    $options{ method } ||= 'GET';
    $options{ template } = URI::Template->new( $options{ template } );

    my $self = $class->SUPER::new( \%options );

    return $self;
}

sub prepare_query {
    my ( $self, $params ) = @_;
    my $tmpl = $self->template;

    for ( qw( startIndex startPage ) ) {
        $params->{ $_ } = 1 if !defined $params->{ $_ };
    }
    $params->{ language }       ||= '*';
    $params->{ outputEncoding } ||= 'UTF-8';
    $params->{ inputEncoding }  ||= 'UTF-8';

    # fill the uri template
    my $url = $tmpl->process( %$params );

    # attempt to handle POST
    if ( $self->method eq 'post' ) {
        my $post = $self->params;
        for my $key ( keys %$post ) {
            $post->{ $key } =~ s/{(.+)}/$params->{ $1 } || ''/eg;
        }

        return $url, [ %$post ];
    }

    return $url;
}

1;