File: LinkBlocker.pm

package info (click to toggle)
libdancer-perl 1.3521%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,460 kB
  • sloc: perl: 7,436; xml: 2,211; sh: 54; makefile: 32; sql: 5
file content (27 lines) | stat: -rw-r--r-- 497 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package LinkBlocker;
use Dancer ':syntax';
use Dancer::Plugin;

register block_links_from => sub {
    my ($host) = @_;
    hook before => sub {
        if (request->referer && request->referer =~ /http:\/\/$host/) {
            status 403;
        }
    };
};

add_hook(
    'after',
    sub {
        my $response = shift;
        if ( request->path eq '/test' ) {
            $response->{content} = 'no content';
            $response->{status}  = 202;
        }
    }
);

register_plugin;

1;