NAME

WebService::WsScreenshot - API client For ws-screenshot

DESCRIPTION

WebService::WsScreenshot is an api client for https://github.com/elestio/ws-screenshot/. It makes it simple to get URLs, or download screenshots in a Perl application, using the backend provided by Elesstio.

SYNOPSIS

#!/usr/bin/env perl
use warnings;
use strict;
use WebService::WsScreenshot;

# Run the backend with....
#   $ docker run --name ws-screenshot -d --restart always -p 3000:3000 -it elestio/ws-screenshot.slim

my $screenshot = WebService::WsScreenshot->new(
    base_url => 'http://127.0.0.1:3000',
);

$screenshot->store_screenshot(
    url      => 'https://modfoss.com/',
    out_file => 'modfoss.jpg',
);

CONSTRUCTOR

The following options may be passed to the constructor.

base_url

This is the URL that ws-screenshot is running at. It is required.

res_x

The horizontal pixel size for the screenshot.

Default: 1280.

res_y

The vertical pixel size for the screenshot.

Default: 900

out_format

The output format.

Valid options are: jpg png pdf

Default: jpg

is_full_page

If the screenshot should include the full page

Valid options are: true false

Default: false

wait_time

How long to wait before capuring the screenshot, in ms.

Default: 100

METHODS

create_screenshot_url

This method will return the full URL to the screen shot. It could be used for embedding the screenshot, for example.

You must pass url with the URL to be used for the screenshot.

my $img_url = $screenshot->create_screenshot_url(
    url => 'http://modfoss.com',
);

fetch_screenshot

This method will construct the URL for the screenshot, and then fetch the screenshot, making the API call to the ws-screenshot server.

It will return the HTTP::Response object from the API call.

If there is any error, it will die.

You must pass url with the URL to be used for the screenshot.

my $res = $screenshot->fetch_screenshot(
    url => 'http://modfoss.com',
);

store_screenshot

This method is the same as fetch_screenshot, however the screenshot itself will be written to disk.

You must pass url with the URL to be used for the screenshot, as well as out_file for the path the file is to be written to.

my $res = $screenshot->fetch_screenshot(
    url      => 'http://modfoss.com',
    out_file => 'modfoss-screenshot.jpg',
);

AUTHOR

Kaitlyn Parkhurst (SymKat) <symkat@symkat.com> ( Blog: http://symkat.com/ )

COPYRIGHT

Copyright (c) 2021 the WebService::WsScreenshot "AUTHOR", "CONTRIBUTORS", and "SPONSORS" as listed above.

LICENSE

This library is free software and may be distributed under the same terms as perl itself.

AVAILABILITY

The most current version of App::dec can be found at https://github.com/symkat/WebService-WsScreenshot