App-Nopaste-Service-WerePaste
view release on metacpan or search on metacpan
lib/App/Nopaste/Service/WerePaste.pm view on Meta::CPAN
use base q/App::Nopaste::Service/;
# ABSTRACT: nopaste service for L<WerePaste>
sub uri { $ENV{WEREPASTE_URL} || 'http://paste.were.space/' }
sub get {
my ($self, $mech) = @_;
# Set BasicAuth credentials if needed
$mech->credentials( $self->_credentials ) if $self->_credentials;
return $mech->get($self->uri);
}
sub fill_form {
my ($self, $mech) = (shift, shift);
my %args = @_;
my $content = {
code => decode_utf8($args{text}),
title => decode_utf8($args{desc}),
lang => decode_utf8($args{lang}),
};
my $exp = $ENV{WEREPASTE_EXP};
$content->{expiration} = $exp if $exp;
$mech->credentials( $self->_credentials ) if $self->_credentials;
@{$mech->requests_redirectable} = ();
return $mech->submit_form( form_number => 1, fields => $content );
}
sub return {
my ( $self, $mech ) = @_;
return (1, $mech->response->header('Location')) if $mech->response->is_redirect;
return (0, 'Cannot find URL');
}
sub _credentials { ($ENV{WEREPASTE_USER}, $ENV{WEREPASTE_PASS}) }
1;
__END__
=pod
=head1 NAME
App::Nopaste::Service::WerePaste - nopaste service for L<WerePaste>
=head1 VERSION
lib/App/Nopaste/Service/WerePaste.pm view on Meta::CPAN
L<WerePaste|https://github.com/Maffsie/WerePaste> Service for L<nopaste>.
To use, simple use:
$ echo "text" | nopaste -s WerePaste
By default it pastes to L<http://paste.were.space>, but you can
override this be setting the C<WEREPASTE_URL> environment variable.
You can set HTTP Basic Auth credentials to use for the nopaste service
if necessary by using:
WEREPASTE_USER=username
WEREPASTE_PASS=password
The expiration of the post can be modified by setting the C<WEREPASTE_EXP>
environment variable. Acceptable values are things like:
WEREPASTE_EXP=weeks:1
WEREPASTE_EXP=years:1:months:2
( run in 0.437 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )