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 )