Current section
Files
Jump to
Current section
Files
lib/phoenix/socket_client/message/v1.ex
defmodule Phoenix.SocketClient.Message.V1 do
@moduledoc """
DEPRECATED: V1 protocol serializer for legacy Phoenix Channels support.
This module provides compatibility with Phoenix Channels protocol v1.0.0.
It is deprecated and will be removed in a future version. Use V2 protocol instead.
"""
alias Phoenix.SocketClient.Message
@doc false
def decode!(msg) do
IO.warn("Phoenix.SocketClient.Message.V1 is deprecated. Use Message.V2 instead.")
%Message{
ref: msg["ref"],
topic: msg["topic"],
event: msg["event"],
payload: msg["payload"]
}
end
@doc false
def encode!(%Message{} = msg) do
IO.warn("Phoenix.SocketClient.Message.V1 is deprecated. Use Message.V2 instead.")
result =
msg
|> Map.take([:topic, :event, :payload, :ref])
# Add join_ref if it's a join message
if msg.event == "phx_join" do
Map.put(result, :join_ref, msg.ref)
else
result
end
end
end