@@ -294,7 +294,7 @@ defmodule Plug.Conn do
294294 alias Plug.Conn
295295 @ epoch { { 1970 , 1 , 1 } , { 0 , 0 , 0 } }
296296 @ already_sent { :plug_conn , :sent }
297- @ unsent [ :unset , :set , :set_chunked , :set_file ]
297+ @ unsent [ :unset , :set , :set_upgrade , : set_chunked, :set_file ]
298298
299299 @ doc """
300300 Assigns a value to a key in the connection.
@@ -1471,10 +1471,10 @@ defmodule Plug.Conn do
14711471 @ spec upgrade_adapter ( t , atom , term ) :: t
14721472 def upgrade_adapter ( % Conn { adapter: { adapter , payload } , state: state } = conn , protocol , args )
14731473 when state in @ unsent do
1474+ conn = run_before_send ( conn , :set_upgrade )
14741475 case adapter . upgrade ( payload , protocol , args ) do
14751476 { :ok , payload } ->
1476- conn = run_before_send ( conn , :upgraded )
1477- % { conn | adapter: { adapter , payload } }
1477+ % { conn | state: :upgraded , adapter: { adapter , payload } }
14781478
14791479 { :error , :not_supported } ->
14801480 raise ArgumentError , "upgrade to #{ protocol } not supported by #{ inspect ( adapter ) } "
0 commit comments