NAME

Pithub::Repos::Downloads - Github v3 Repo Downloads API

VERSION

version 0.01021

METHODS

create

  • Creating a new download is a two step process. You must first create a new download resource using this call here. After that you take the return Pithub::Result object and call "upload" to upload the file to Amazon S3.

    POST /repos/:user/:repo/downloads

    Examples:

    my $d = Pithub::Repos::Downloads->new;
    my $result = $d->create(
        user => 'plu',
        repo => 'Pithub',
        data => {
            name         => 'new_file.jpg',
            size         => 114034,
            description  => 'Latest release',
            content_type => 'text/plain',
        },
    );
    
    $d->upload(
        result => $result,
        file   => '/path/to/file',
    );

delete

  • Delete a download

    DELETE /repos/:user/:repo/downloads/:id

    Examples:

    my $d = Pithub::Repos::Downloads->new;
    my $result = $d->delete(
        user        => 'plu',
        repo        => 'Pithub',
        download_id => 1,
    );

get

  • Get a single download

    GET /repos/:user/:repo/downloads/:id

    Examples:

    my $d = Pithub::Repos::Downloads->new;
    my $result = $d->get(
        user        => 'plu',
        repo        => 'Pithub',
        download_id => 1,
    );

list

  • List downloads for a repository

    GET /repos/:user/:repo/downloads

    Examples:

    my $d = Pithub::Repos::Downloads->new;
    my $result = $d->list(
        user => 'plu',
        repo => 'Pithub',
    );

upload

  • Upload a file to Amazon S3. See also: "create". This will use the ua attribute's request method to do a POST request to Amazon S3. It requires the Pithub::Result object of a "create" call to get the necessary data for S3 API call. This method returns an HTTP::Response object directly, not a Pithub::Result object (like all other methods do)! If the upload was successful the status will be 201.

AUTHOR

Johannes Plunien <plu@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Johannes Plunien.

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