---
name: "HTTP::Message::PSGI"
section: "3pm"
platform: "linux"
package: "libplack-perl"
version: "1.0051-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTTP::Message::PSGI"
---

# HTTP::Message::PSGI(3pm)

Converts HTTP::Request and HTTP::Response from/to PSGI env and response

## NAME

HTTP::Message::PSGI - Converts HTTP::Request and HTTP::Response from/to PSGI env and response

## SYNOPSIS

```
  use HTTP::Message::PSGI;
  # $req is HTTP::Request, $res is HTTP::Response
  my $env = req_to_psgi($req);
  my $res = res_from_psgi([ $status, $headers, $body ]);
  # Adds methods to HTTP::Request/Response class as well
  my $env = $req->to_psgi;
  my $res = HTTP::Response->from_psgi([ $status, $headers, $body ]);
```

## DESCRIPTION

HTTP::Message::PSGI gives you convenient methods to convert an HTTP::Request object to a PSGI env hash and convert a PSGI response arrayref to a HTTP::Response object.

If you want the other way around, see Plack::Request and Plack::Response.

## METHODS

- req\_to\_psgi

  ```
    my $env = req_to_psgi($req [, $key => $val ... ]);
  ```

  Converts a HTTP::Request object into a PSGI env hash reference.

- HTTP::Request::to\_psgi

  ```
    my $env = $req->to_psgi;
  ```

  Same as `"req_to_psgi"` but an instance method in HTTP::Request.

- res\_from\_psgi

  ```
    my $res = res_from_psgi([ $status, $headers, $body ]);
  ```

  Creates a HTTP::Response object from a PSGI response array ref.

- HTTP::Response-\>from\_psgi

  ```
    my $res = HTTP::Response->from_psgi([ $status, $headers, $body ]);
  ```

  Same as `"res_from_psgi"`, but is a class method in HTTP::Response.

## AUTHOR

Tatsuhiko Miyagawa

## SEE ALSO

HTTP::Request::AsCGI HTTP::Message Plack::Test
