@@ -493,7 +493,7 @@ defmodule Mint.HTTP do
493
493
"""
494
494
@ impl true
495
495
@ spec close ( t ( ) ) :: { :ok , t ( ) }
496
- def close ( conn ) , do: conn_module ( conn ) . close ( conn )
496
+ def close ( conn ) , do: conn_apply ( conn , : close, [ conn ] )
497
497
498
498
@ doc """
499
499
Checks whether the connection is open.
@@ -530,7 +530,7 @@ defmodule Mint.HTTP do
530
530
"""
531
531
@ impl true
532
532
@ spec open? ( t ( ) , :read | :write ) :: boolean ( )
533
- def open? ( conn , type \\ :write ) , do: conn_module ( conn ) . open? ( conn , type )
533
+ def open? ( conn , type \\ :write ) , do: conn_apply ( conn , : open, [ conn , type ] )
534
534
535
535
@ doc """
536
536
Sends a request to the connected server.
@@ -599,7 +599,7 @@ defmodule Mint.HTTP do
599
599
| { :error , t ( ) , Types . error ( ) }
600
600
601
601
def request ( conn , method , path , headers , body ) ,
602
- do: conn_module ( conn ) . request ( conn , method , path , headers , body )
602
+ do: conn_apply ( conn , : request, [ conn , method , path , headers , body ] )
603
603
604
604
@ doc """
605
605
Streams a chunk of the request body on the connection or signals the end of the body.
@@ -690,7 +690,7 @@ defmodule Mint.HTTP do
690
690
) ::
691
691
{ :ok , t ( ) } | { :error , t ( ) , Types . error ( ) }
692
692
def stream_request_body ( conn , ref , body ) ,
693
- do: conn_module ( conn ) . stream_request_body ( conn , ref , body )
693
+ do: conn_apply ( conn , : stream_request_body, [ conn , ref , body ] )
694
694
695
695
@ doc """
696
696
Streams the next batch of responses from the given `message`.
@@ -827,7 +827,7 @@ defmodule Mint.HTTP do
827
827
{ :ok , t ( ) , [ Types . response ( ) ] }
828
828
| { :error , t ( ) , Types . error ( ) , [ Types . response ( ) ] }
829
829
| :unknown
830
- def stream ( conn , message ) , do: conn_module ( conn ) . stream ( conn , message )
830
+ def stream ( conn , message ) , do: conn_apply ( conn , : stream, [ conn , message ] )
831
831
832
832
@ doc """
833
833
Returns the number of open requests.
@@ -846,7 +846,7 @@ defmodule Mint.HTTP do
846
846
"""
847
847
@ impl true
848
848
@ spec open_request_count ( t ( ) ) :: non_neg_integer ( )
849
- def open_request_count ( conn ) , do: conn_module ( conn ) . open_request_count ( conn )
849
+ def open_request_count ( conn ) , do: conn_apply ( conn , : open_request_count, [ conn ] )
850
850
851
851
@ doc """
852
852
Receives data from the socket in a blocking way.
@@ -882,7 +882,7 @@ defmodule Mint.HTTP do
882
882
@ spec recv ( t ( ) , non_neg_integer ( ) , timeout ( ) ) ::
883
883
{ :ok , t ( ) , [ Types . response ( ) ] }
884
884
| { :error , t ( ) , Types . error ( ) , [ Types . response ( ) ] }
885
- def recv ( conn , byte_count , timeout ) , do: conn_module ( conn ) . recv ( conn , byte_count , timeout )
885
+ def recv ( conn , byte_count , timeout ) , do: conn_apply ( conn , : recv, [ conn , byte_count , timeout ] )
886
886
887
887
@ doc """
888
888
Changes the mode of the underlying socket.
@@ -908,7 +908,7 @@ defmodule Mint.HTTP do
908
908
"""
909
909
@ impl true
910
910
@ spec set_mode ( t ( ) , :active | :passive ) :: { :ok , t ( ) } | { :error , Types . error ( ) }
911
- def set_mode ( conn , mode ) , do: conn_module ( conn ) . set_mode ( conn , mode )
911
+ def set_mode ( conn , mode ) , do: conn_apply ( conn , : set_mode, [ conn , mode ] )
912
912
913
913
@ doc """
914
914
Changes the *controlling process* of the given connection to `new_pid`.
@@ -946,7 +946,8 @@ defmodule Mint.HTTP do
946
946
"""
947
947
@ impl true
948
948
@ spec controlling_process ( t ( ) , pid ( ) ) :: { :ok , t ( ) } | { :error , Types . error ( ) }
949
- def controlling_process ( conn , new_pid ) , do: conn_module ( conn ) . controlling_process ( conn , new_pid )
949
+ def controlling_process ( conn , new_pid ) ,
950
+ do: conn_apply ( conn , :controlling_process , [ conn , new_pid ] )
950
951
951
952
@ doc """
952
953
Assigns a new private key and value in the connection.
@@ -970,7 +971,7 @@ defmodule Mint.HTTP do
970
971
"""
971
972
@ impl true
972
973
@ spec put_private ( t ( ) , atom ( ) , term ( ) ) :: t ( )
973
- def put_private ( conn , key , value ) , do: conn_module ( conn ) . put_private ( conn , key , value )
974
+ def put_private ( conn , key , value ) , do: conn_apply ( conn , : put_private, [ conn , key , value ] )
974
975
975
976
@ doc """
976
977
Gets a private value from the connection.
@@ -995,7 +996,7 @@ defmodule Mint.HTTP do
995
996
@ impl true
996
997
@ spec get_private ( t ( ) , atom ( ) , term ( ) ) :: term ( )
997
998
def get_private ( conn , key , default \\ nil ) ,
998
- do: conn_module ( conn ) . get_private ( conn , key , default )
999
+ do: conn_apply ( conn , : get_private, [ conn , key , default ] )
999
1000
1000
1001
@ doc """
1001
1002
Deletes a value in the private store.
@@ -1019,7 +1020,7 @@ defmodule Mint.HTTP do
1019
1020
"""
1020
1021
@ impl true
1021
1022
@ spec delete_private ( t ( ) , atom ( ) ) :: t ( )
1022
- def delete_private ( conn , key ) , do: conn_module ( conn ) . delete_private ( conn , key )
1023
+ def delete_private ( conn , key ) , do: conn_apply ( conn , : delete_private, [ conn , key ] )
1023
1024
1024
1025
@ doc """
1025
1026
Gets the socket associated with the connection.
@@ -1030,7 +1031,7 @@ defmodule Mint.HTTP do
1030
1031
"""
1031
1032
@ impl true
1032
1033
@ spec get_socket ( t ( ) ) :: Mint.Types . socket ( )
1033
- def get_socket ( conn ) , do: conn_module ( conn ) . get_socket ( conn )
1034
+ def get_socket ( conn ) , do: conn_apply ( conn , : get_socket, [ conn ] )
1034
1035
1035
1036
@ doc """
1036
1037
Sets whether the connection should log information or not.
@@ -1040,7 +1041,7 @@ defmodule Mint.HTTP do
1040
1041
@ doc since: "1.5.0"
1041
1042
@ impl true
1042
1043
@ spec put_log ( t ( ) , boolean ( ) ) :: t ( )
1043
- def put_log ( conn , log? ) , do: conn_module ( conn ) . put_log ( conn , log? )
1044
+ def put_log ( conn , log? ) , do: conn_apply ( conn , : put_log, [ conn , log? ] )
1044
1045
1045
1046
@ doc """
1046
1047
Gets the proxy headers associated with the connection in the `CONNECT` method.
@@ -1051,16 +1052,16 @@ defmodule Mint.HTTP do
1051
1052
@ doc since: "1.4.0"
1052
1053
@ impl true
1053
1054
@ spec get_proxy_headers ( t ( ) ) :: Mint.Types . headers ( )
1054
- def get_proxy_headers ( conn ) , do: conn_module ( conn ) . get_proxy_headers ( conn )
1055
+ def get_proxy_headers ( conn ) , do: conn_apply ( conn , : get_proxy_headers, [ conn ] )
1055
1056
1056
1057
# Made public since the struct is opaque.
1057
1058
@ doc false
1058
1059
@ impl true
1059
- def put_proxy_headers ( conn , headers ) , do: conn_module ( conn ) . put_proxy_headers ( conn , headers )
1060
+ def put_proxy_headers ( conn , headers ) , do: conn_apply ( conn , : put_proxy_headers, [ conn , headers ] )
1060
1061
1061
1062
## Helpers
1062
1063
1063
- defp conn_module ( % UnsafeProxy { } ) , do: UnsafeProxy
1064
- defp conn_module ( % Mint.HTTP1 { } ) , do: Mint.HTTP1
1065
- defp conn_module ( % Mint.HTTP2 { } ) , do: Mint.HTTP2
1064
+ defp conn_apply ( % UnsafeProxy { } , fun , args ) , do: apply ( UnsafeProxy , fun , args )
1065
+ defp conn_apply ( % Mint.HTTP1 { } , fun , args ) , do: apply ( Mint.HTTP1 , fun , args )
1066
+ defp conn_apply ( % Mint.HTTP2 { } , fun , args ) , do: apply ( Mint.HTTP2 , fun , args )
1066
1067
end
0 commit comments