---
name: "HTTP::Proxy::Engine::Legacy"
section: "3pm"
platform: "linux"
package: "libhttp-proxy-perl"
version: "0.304-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTTP::Proxy::Engine::Legacy"
---

# HTTP::Proxy::Engine::Legacy(3pm)

The "older" HTTP::Proxy engine

## NAME

HTTP::Proxy::Engine::Legacy - The "older" HTTP::Proxy engine

## SYNOPSIS

```
    my $proxy = HTTP::Proxy->new( engine => 'Legacy' );
```

## DESCRIPTION

This engine reproduces the older child creation algorithm of HTTP::Proxy.

Angelos Karageorgiou `"<angelos@unix.gr>"` reports:

*I got the Legacy engine to work really fast under "Win32" with the following trick:*

```
    max_keep_alive_requests(1);
    max_clients(120);
    $HTTP::VERSION(1.0); # just in case
```

*and it smokes.*

*It seems that forked children are really slow when calling select for handling "keep-alive"d requests!*

## METHODS

The module defines the following methods, used by HTTP::Proxy main loop:

- **start()**

  Initialise the engine.

- **run()**

  Implements the forking logic: a new process is forked for each new incoming TCP connection.

- **stop()**

  Reap remaining child processes.

The following method is used by the engine internally:

- **reap\_zombies()**

  Process the dead child processes.

## SEE ALSO

HTTP::Proxy, HTTP::Proxy::Engine.

## AUTHOR

Philippe "BooK" Bruhat, `"<book@cpan.org>"`.

## COPYRIGHT

Copyright 2005-2015, Philippe Bruhat.

## LICENSE

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