---
name: "POE::Filter::HTTPChunk"
section: "3pm"
platform: "linux"
package: "perl-poe-component-client-http"
version: "0.949-13"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Filter::HTTPChunk"
---

# POE::Filter::HTTPChunk(3pm)

Non-blocking incremental HTTP chunk parser.

my `$TEXT` = qr/\[^\[:cntrl:\]\]/o; my `$qdtext` = qr/\[^\[:cntrl:\]\\"\]/o; #\<any TEXT except \<"\>\> my `$quoted_pair` = qr/\\\\\[\[:ascii:\]\]/o; my `$quoted_string` = qr/\\"(?:$qdtext\|$quoted\_pair)\\"/o; my `$separators` = "\[^()\<\>@,;:\\\\"\\/\\\[\\\]\\?={} \\t"; my `$notoken` = qr/(?:\[\[:cntrl:\]$separators\]/o;

my `$chunk_ext_name` = `$token`; my `$chunk_ext_val` = qr/(?:$token\|$quoted\_string)/o;

my `$chunk_extension` = qr/(?:;$chunk\_ext\_name(?:$chunk\_ext\_val)?)/o;

sub put {\
   die "not implemented yet"; }

## NAME

POE::Filter::HTTPChunk - Non-blocking incremental HTTP chunk parser.

## VERSION

version 0.949

## SYNOPSIS

```
  # Not a complete program.
  use POE::Filter::HTTPChunk;
  use POE::Wheel::ReadWrite;
  sub setup_io {
    $_[HEAP]->{io_wheel} = POE::Wheel::ReadWrite->new(
      Filter => POE::Filter::HTTPChunk->new(),
      # See POE::Wheel::ReadWrite for other required parameters.
    );
  }
```

## DESCRIPTION

This filter parses HTTP chunks from a data stream.  It's used by POE::Component::Client::HTTP to do the bulk of the low-level HTTP parsing.

## CONSTRUCTOR

### new

`"new"` takes no parameters and returns a shiny new POE::Filter::HTTPChunk object ready to use.

## METHODS

POE::Filter::HTTPChunk supports the following methods.  Most of them adhere to the standard POE::Filter API.  The documentation for POE::Filter explains the API in more detail.

### get\_one\_start ARRAYREF

Accept an arrayref containing zero or more raw data chunks.  They are added to the filter's input buffer.  The filter will attempt to parse that data when **get\_one()** is called.

```
  $filter_httpchunk->get_one_start(\@stream_data);
```

### get\_one

Parse a single HTTP chunk from the filter's input buffer.  Data is entered into the buffer by the **get\_one\_start()** method.  Returns an arrayref containing zero or one parsed HTTP chunk.

```
  $ret_arrayref = $filter_httpchunk->get_one();
```

### get\_pending

Returns an arrayref of stream data currently pending parsing.  It's used to seamlessly transfer unparsed data between an old and a new filter when a wheel's filter is changed.

```
  $pending_arrayref = $filter_httpchunk->get_pending();
```

## SEE ALSO

POE::Filter, POE.

## BUGS

None are known at this time.

## AUTHOR & COPYRIGHTS

POE::Filter::HTTPChunk is...

- •

  Copyright 2005-2006 Martijn van Beers

- •

  Copyright 2006 Rocco Caputo

All rights are reserved.  POE::Filter::HTTPChunk is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

## CONTACT

Rocco may be contacted by e-mail via \<mailto:rcaputo@cpan.org\>, and Martijn may be contacted by email via \<mailto:martijn@cpan.org\>.

The preferred way to report bugs or requests is through RT though. See \<http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Client-HTTP\> or mail \<mailto:bug-POE-Component-Client-HTTP@rt.cpan.org\>

For questions, try the POE mailing list (poe@perl.org)
