The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mo::utils::URI - Mo utilities for URI.

SYNOPSIS

 use Mo::utils::URI qw(check_location check_uri check_url);

 check_location($self, $key);
 check_uri($self, $key);
 check_url($self, $key);
 check_urn($self, $key);

DESCRIPTION

Mo utilities for URI checking of data objects.

SUBROUTINES

check_location

 check_location($self, $key);

Check parameter defined by $key which is valid location. Could be URL or absolute or relative path.

Put error if check isn't ok.

Returns undef.

check_uri

 check_uri($self, $key);

Check parameter defined by $key which is valid URI.

Put error if check isn't ok.

Returns undef.

check_url

 check_url($self, $key);

Check parameter defined by $key which is valid URL.

Put error if check isn't ok.

Returns undef.

check_urn

 check_urn($self, $key);

Check parameter defined by $key which is valid URN.

Put error if check isn't ok.

Returns undef.

ERRORS

 check_location():
         Parameter '%s' doesn't contain valid location.
                 Value: %s

 check_uri():
         Parameter '%s' doesn't contain valid URI.
                 Value: %s

 check_url():
         Parameter '%s' doesn't contain valid URL.
                 Value: %s

 check_urn():
         Parameter '%s' doesn't contain valid URN.
                 Value: %s

EXAMPLE1

 use strict;
 use warnings;

 use Mo::utils::URI qw(check_location);

 my $self = {
         'key' => 'https://skim.cz',
 };
 check_location($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE2

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::URI qw(check_location);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => 'urn:isbn:9788072044948',
 };
 check_location($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [..utils.pm:?] Parameter 'key' doesn't contain valid location.

EXAMPLE3

 use strict;
 use warnings;

 use Mo::utils::URI qw(check_uri);

 my $self = {
         'key' => 'https://skim.cz',
 };
 check_uri($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE4

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::URI qw(check_uri);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => 'bad_uri',
 };
 check_uri($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [..utils.pm:?] Parameter 'key' doesn't contain valid URI.

EXAMPLE5

 use strict;
 use warnings;

 use Mo::utils::URI qw(check_url);

 my $self = {
         'key' => 'https://skim.cz',
 };
 check_url($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE6

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::URI qw(check_url);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => 'bad_uri',
 };
 check_uri($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [..utils.pm:?] Parameter 'key' doesn't contain valid URL.

EXAMPLE7

 use strict;
 use warnings;

 use Mo::utils::URI qw(check_urn);

 my $self = {
         'key' => 'urn:isbn:0451450523',
 };
 check_urn($self, 'key');

 # Print out.
 print "ok\n";

 # Output:
 # ok

EXAMPLE8

 use strict;
 use warnings;

 use Error::Pure;
 use Mo::utils::URI qw(check_urn);

 $Error::Pure::TYPE = 'Error';

 my $self = {
         'key' => 'bad_urn',
 };
 check_urn($self, 'key');

 # Print out.
 print "ok\n";

 # Output like:
 # #Error [..utils.pm:?] Parameter 'key' doesn't contain valid URN.

DEPENDENCIES

Data::Validate::URI, Error::Pure, Exporter, Readonly, URI.

SEE ALSO

Mo

Micro Objects. Mo is less.

Mo::utils::CSS

Mo CSS utilities.

Mo::utils::Date

Mo date utilities.

Mo::utils::Language

Mo language utilities.

Mo::utils::Email

Mo utilities for email.

Wikibase::Datatype::Utils

Wikibase datatype utilities.

REPOSITORY

https://github.com/michal-josef-spacek/Mo-utils-URI

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2024 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.02