{"schema_version":1,"metadata":{"branch":"release","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:02.361425+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/7.9/packages/amd64/sqlports-7.54.tgz","source_sha256":"2de00144847bf9da3a365be982f101dbb55d591ed7a915ea94984a16ab0e0404","package_count":12059,"source_kind":"sqlports"},"package":{"name":"ruby33-websocket-driver-0.7.6","path":"www/ruby-websocket-driver,ruby33","url":"/packages/release/www/ruby-websocket-driver,ruby33/","comment":"implementation of the WebSocket protocol for ruby","homepage":"https://github.com/faye/websocket-driver-ruby","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"This module provides a complete implementation of the WebSocket\nprotocols that can be hooked up to any TCP library. It aims to simplify\nthings by decoupling the protocol details from the I/O layer, such that\nusers only need to implement code to stream data in and out of it\nwithout needing to know anything about how the protocol actually works.\nThink of it as a complete WebSocket system with pluggable I/O.\n\nDue to this design, you get a lot of things for free. In particular, if\nyou hook this module up to some I/O object, it will do all of this for\nyou:\n\n* Select the correct server-side driver to talk to the client\n* Generate and send both server- and client-side handshakes\n* Recognize when the handshake phase completes and the WS protocol\n  begins\n* Negotiate subprotocol selection based on Sec-WebSocket-Protocol\n* Negotiate and use extensions via the websocket-extensions module\n* Buffer sent messages until the handshake process is finished\n* Deal with proxies that defer delivery of the draft-76 handshake body\n* Notify you when the socket is open and closed and when messages arrive\n* Recombine fragmented messages\n* Dispatch text, binary, ping and close frames\n* Manage the socket-closing handshake process\n* Automatically reply to ping frames with a matching pong\n* Apply masking to messages sent by the client\n","package_architecture":"amd64","stem":"ruby33-websocket-driver","readme":null,"dependencies":[{"path":"lang/ruby/3.3","type":"library","package_spec":"","url":"/packages/release/lang/ruby/3.3/"},{"path":"www/ruby-websocket-extensions,ruby33","type":"runtime","package_spec":"STEM->=0.1.0","url":"/packages/release/www/ruby-websocket-extensions,ruby33/"},{"path":"lang/ruby/3.3","type":"runtime","package_spec":"","url":"/packages/release/lang/ruby/3.3/"},{"path":"www/ruby-websocket-extensions,ruby33","type":"build","package_spec":"STEM->=0.1.0","url":"/packages/release/www/ruby-websocket-extensions,ruby33/"},{"path":"lang/ruby/3.3","type":"build","package_spec":"","url":"/packages/release/lang/ruby/3.3/"}],"reverse_dependencies":{"count":0,"url":null},"categories":["www","lang/ruby"],"flavors":["ruby33","ruby34","ruby40"],"only_for_architectures":["aarch64","amd64","arm","i386","mips64","mips64el","powerpc","powerpc64","riscv64","alpha","hppa","sparc64"],"not_for_architectures":[]}}
