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

NAME

LinkEmbedder - Embed / expand oEmbed resources and other URL / links

SYNOPSIS

  use LinkEmbedder;

  my $embedder = LinkEmbedder->new(force_secure => 1);

  $embedder->get_p("https://xkcd.com/927")->then(sub {
    my $link = shift;
    print $link->html;
  })->wait;

DESCRIPTION

LinkEmbedder is a module that can expand an URL into a rich HTML snippet or simply to extract information about the URL.

This module replaces Mojolicious::Plugin::LinkEmbedder.

Go to https://thorsen.pm/linkembedder to see a demo of how it works.

These web pages are currently supported:

ATTRIBUTES

force_secure

  $bool = $self->force_secure;
  $self = $self->force_secure(1);

This attribute will translate any unknown http link to https.

This attribute is EXPERIMENTAL. Feeback appreciated.

ua

  $ua = $self->ua;

Holds a Mojo::UserAgent object.

  $hash_ref = $self->url_to_link;

Holds a mapping between host names and link class to use.

METHODS

get

  $self = $self->get_p($url, sub { my ($self, $link) = @_ });

Same as "get_p", but takes a callback instead of returning a Mojo::Promise.

get_p

  $promise = $self->get_p($url)->then(sub { my $link = shift });

Used to construct a new LinkEmbedder::Link object and retrieve information about the URL.

serve

  $self = $self->serve(Mojolicious::Controller->new, $url);

Used as a helper for Mojolicious web applications to reply to an oEmbed request.

AUTHOR

Jan Henning Thorsen

COPYRIGHT AND LICENSE

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.