# BunWebSocketHandler

**Kind:** Interface

**Source:** [`src/adapter/bun/websocket.ts`](https://github.com/honojs/hono/blob/main/src/adapter/bun/websocket.ts#L15)

**Part of:** [Adapter](subsystem-src-adapter)

`BunWebSocketHandler` defines lifecycle callbacks for WebSocket activity in the Bun adapter. Implement `open`, `close`, and `message` to handle connection events and incoming WebSocket messages.

## Diagram

```mermaid
graph LR
  Socket[Bun WebSocket] --> Handler[BunWebSocketHandler]
  Handler --> Open[open()]
  Handler --> Message[message()]
  Handler --> Close[close()]
```

## Usage

```ts
import type { BunWebSocketHandler } from "./websocket";

const websocketHandler: BunWebSocketHandler = {
  open() {
    console.log("WebSocket connection opened");
  },

  message() {
    console.log("WebSocket message received");
  },

  close() {
    console.log("WebSocket connection closed");
  },
};

// Provide websocketHandler where the Bun adapter expects a WebSocket handler.
```

## AI Coding Instructions

- Implement all handler methods required by `BunWebSocketHandler`.
- Keep connection setup in `open` and cleanup logic in `close`.
- Handle incoming WebSocket activity in `message`.
- Do not add parameters or return values unless the interface definition is updated.
