# Table of Contents - websocket-driver-0.8.0 Documentation

## Pages

- README
  - websocket-driver
  - Installation
  - Usage
  - Server-side with Rack
  - Server-side with TCP
  - Client-side
  - HTTP Proxies
  - Driver API
  - `driver.on :open, -> (event) {}`
  - `driver.on :message, -> (event) {}`
  - `driver.on :error, -> (event) {}`
  - `driver.on :close, -> (event) {}`
  - `driver.on :ping, -> (event) {}`
  - `driver.on :pong, -> (event) {}`
  - `driver.add_extension(extension)`
  - `driver.set_header(name, value)`
  - `driver.start`
  - `driver.parse(string)`
  - `driver.text(string)`
  - `driver.binary(buffer)`
  - `driver.ping(string = '', &callback)`
  - `driver.pong(string = '')`
  - `driver.close`
  - `driver.version`
  - `driver.protocol`
- Makefile
- WebsocketMaskService.java

## Classes and Modules

- WebSocket
- WebSocket::Driver
- WebSocket::Driver::Client
- WebSocket::Driver::Draft75
- WebSocket::Driver::Draft76
- WebSocket::Driver::EventEmitter
- WebSocket::Driver::Headers
- WebSocket::Driver::Hybi
- WebSocket::Driver::Hybi::Frame
- WebSocket::Driver::Hybi::Message
- WebSocket::Driver::Proxy
- WebSocket::Driver::Server
- WebSocket::Driver::StreamReader
- WebSocket::HTTP
- WebSocket::HTTP::Headers
- WebSocket::HTTP::Request
- WebSocket::HTTP::Response
- WebSocket::Mask

## Methods

- ::client — WebSocket::Driver
- ::encode — WebSocket::Driver
- ::generate_accept — WebSocket::Driver::Hybi
- ::generate_key — WebSocket::Driver::Client
- ::host_header — WebSocket::Driver
- ::mask — WebSocket::Mask
- ::new — WebSocket::Driver::Draft76
- ::new — WebSocket::HTTP::Headers
- ::new — WebSocket::Driver::EventEmitter
- ::new — WebSocket::Driver::StreamReader
- ::new — WebSocket::Driver::Server
- ::new — WebSocket::Driver::Proxy
- ::new — WebSocket::Driver::Client
- ::new — WebSocket::Driver::Hybi::Message
- ::new — WebSocket::Driver
- ::new — WebSocket::Driver::Hybi
- ::new — WebSocket::Driver::Draft75
- ::new — WebSocket::Driver::Headers
- ::normalize_header — WebSocket::HTTP
- ::rack — WebSocket::Driver
- ::server — WebSocket::Driver
- ::validate_options — WebSocket::Driver
- ::websocket? — WebSocket::Driver
- #<< — WebSocket::Driver::Hybi::Message
- #[] — WebSocket::HTTP::Response
- #[] — WebSocket::Driver::Headers
- #[]= — WebSocket::Driver::Headers
- #add_extension — WebSocket::Driver
- #add_extension — WebSocket::Driver::Hybi
- #add_listener — WebSocket::Driver::EventEmitter
- #binary — WebSocket::Driver::Hybi
- #binary — WebSocket::Driver
- #body — WebSocket::HTTP::Response
- #check_frame_length — WebSocket::Driver::Hybi
- #clear — WebSocket::Driver::Headers
- #close — WebSocket::Driver::Hybi
- #close — WebSocket::Driver::Draft76
- #close — WebSocket::Driver
- #close — WebSocket::Driver::Draft75
- #complete — WebSocket::HTTP::Request
- #complete — WebSocket::HTTP::Headers
- #complete? — WebSocket::HTTP::Headers
- #each_byte — WebSocket::Driver::StreamReader
- #emit — WebSocket::Driver::EventEmitter
- #emit_frame — WebSocket::Driver::Hybi
- #emit_message — WebSocket::Driver::Hybi
- #env — WebSocket::Driver::Server
- #error — WebSocket::HTTP::Headers
- #error? — WebSocket::HTTP::Headers
- #fail — WebSocket::Driver
- #fail — WebSocket::Driver::Hybi
- #fail_handshake — WebSocket::Driver::Client
- #fail_handshake — WebSocket::Driver
- #fail_request — WebSocket::Driver::Server
- #frame — WebSocket::Driver::Draft75
- #frame — WebSocket::Driver::Hybi
- #handshake_request — WebSocket::Driver::Client
- #handshake_response — WebSocket::Driver::Hybi
- #handshake_response — WebSocket::Driver::Draft75
- #handshake_response — WebSocket::Driver::Draft76
- #handshake_signature — WebSocket::Driver::Draft76
- #header_line — WebSocket::HTTP::Headers
- #inspect — WebSocket::Driver::Headers
- #listener_count — WebSocket::Driver::EventEmitter
- #listeners — WebSocket::Driver::EventEmitter
- #number_from_key — WebSocket::Driver::Draft76
- #on — WebSocket::Driver::EventEmitter
- #open — WebSocket::Driver::Server
- #open — WebSocket::Driver
- #parse — WebSocket::Driver::Hybi
- #parse — WebSocket::Driver::Server
- #parse — WebSocket::Driver::Draft75
- #parse — WebSocket::HTTP::Headers
- #parse — WebSocket::Driver::Proxy
- #parse — WebSocket::Driver::Client
- #parse_extended_length — WebSocket::Driver::Hybi
- #parse_leading_byte — WebSocket::Driver::Draft75
- #parse_leading_byte — WebSocket::Driver::Draft76
- #parse_length — WebSocket::Driver::Hybi
- #parse_opcode — WebSocket::Driver::Hybi
- #ping — WebSocket::Driver
- #ping — WebSocket::Driver::Hybi
- #pong — WebSocket::Driver
- #pong — WebSocket::Driver::Hybi
- #proxy — WebSocket::Driver::Client
- #prune — WebSocket::Driver::StreamReader
- #put — WebSocket::Driver::StreamReader
- #queue — WebSocket::Driver
- #read — WebSocket::Driver::StreamReader
- #remove_all_listeners — WebSocket::Driver::EventEmitter
- #remove_listener — WebSocket::Driver::EventEmitter
- #send_frame — WebSocket::Driver::Hybi
- #send_handshake_body — WebSocket::Driver::Draft76
- #set_header — WebSocket::Driver::Proxy
- #set_header — WebSocket::Driver
- #shutdown — WebSocket::Driver::Hybi
- #spaces_in_key — WebSocket::Driver::Draft76
- #start — WebSocket::Driver
- #start — WebSocket::Driver::Proxy
- #start — WebSocket::Driver::Draft76
- #start — WebSocket::Driver::Client
- #start_line — WebSocket::HTTP::Request
- #start_line — WebSocket::HTTP::Response
- #state — WebSocket::Driver
- #string_buffer — WebSocket::HTTP::Headers
- #text — WebSocket::Driver
- #to_h — WebSocket::Driver::Headers
- #to_s — WebSocket::Driver::Headers
- #url — WebSocket::Driver::Server
- #validate_handshake — WebSocket::Driver::Client
- #version — WebSocket::Driver::Client
- #version — WebSocket::Driver::Hybi
- #version — WebSocket::Driver::Draft75
- #version — WebSocket::Driver::Draft76
- #write — WebSocket::Driver::Server