---
name: "POE::Filter::SSL::PreFilter"
section: "3pm"
platform: "linux"
package: "libpoe-filter-ssl-perl"
version: "0.41-3+b4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Filter::SSL::PreFilter"
---

# POE::Filter::SSL::PreFilter(3pm)

Allow one to add a PreFilter on Components using Wheels

## NAME

POE::Filter::SSL::Prefilter - Allow one to add a PreFilter on Components using Wheels

## VERSION

Version 0.39

## DESCRIPTION

This is an extension for some POE::Component::Server modules to use POE::Filters in front of their own used Filters

## SYNOPSIS

By default filters like *POE::Filter::SSL* can only be used if you specify the filters by manualy creating the POE::Wheel by our own. This allows this to be done if a component is doing this.

- HTTPS-Server

  ```
    use POE::Filter::SSL;
    use POE::Component::Server::HTTP;
    use HTTP::Status;
    my $aliases = POE::Component::Server::HTTP->new(
      Port => 443,
      ContentHandler => {
        '/' => \&handler,
        '/dir/' => sub { return; },
        '/file' => sub { return; }
      },
      Headers => { Server => 'My Server' },
      PreFilter => POE::Filter::SSL->new(
        crt    => 'server.crt',
        key    => 'server.key',
        cacrt  => 'ca.crt'
      )
    );
    sub handler {
      my ($request, $response) = @_;
      $response->code(RC_OK);
      $response->content("Hi, you fetched ". $request->uri);
      return RC_OK;
    }
    POE::Kernel->run();
    POE::Kernel->call($aliases->{httpd}, "shutdown");
    # next line isn't really needed
    POE::Kernel->call($aliases->{tcp}, "shutdown");
  ```

## COPYRIGHT & LICENSE

Copyright 2010-2017 Markus Schraeder, CryptoMagic GmbH, all rights reserved.

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