---
name: "Protocol::WebSocket::Handshake::Client"
section: "3pm"
platform: "linux"
package: "libprotocol-websocket-perl"
version: "0.26-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Protocol::WebSocket::Handshake::Client"
---

# Protocol::WebSocket::Handshake::Client(3pm)

WebSocket Client Handshake

## NAME

Protocol::WebSocket::Handshake::Client - WebSocket Client Handshake

## SYNOPSIS

```
    my $h =
      Protocol::WebSocket::Handshake::Client->new(url => 'ws://example.com');
    # Create request
    $h->to_string;
    # Parse server response
    $h->parse(<<"EOF");
        WebSocket HTTP message
    EOF
    $h->error;   # Check if there were any errors
    $h->is_done; # Returns 1
```

## DESCRIPTION

Construct or parse a client WebSocket handshake. This module is written for convenience, since using request and response directly requires the same code again and again.

## ATTRIBUTES

### "url"

```
    $handshake->url('ws://example.com/demo');
```

Set or get WebSocket url.

## METHODS

### "new"

Create a new Protocol::WebSocket::Handshake::Client instance.

### "parse"

```
    $handshake->parse($buffer);
```

Parse a WebSocket server response. Returns `"undef"` and sets `"error"` attribute on error. Buffer is modified.

### "to\_string"

Construct a WebSocket client request.

### "is\_done"

Check whether handshake is done.
