Expose timeout, deadline and metadata parameters from grpclib (#352)
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							62da35b3ea
						
					
				
				
					commit
					18a518efa7
				
			| @@ -20,6 +20,13 @@ from betterproto.grpc.grpclib_server import ServiceBase | ||||
| import grpclib | ||||
| {% endif %} | ||||
|  | ||||
| {% if output_file.imports_type_checking_only %} | ||||
| from typing import TYPE_CHECKING | ||||
|  | ||||
| if TYPE_CHECKING: | ||||
| {% for i in output_file.imports_type_checking_only|sort %}    {{ i }} | ||||
| {% endfor %} | ||||
| {% endif %} | ||||
|  | ||||
| {% if output_file.enums %}{% for enum in output_file.enums %} | ||||
| class {{ enum.py_name }}(betterproto.Enum): | ||||
| @@ -86,6 +93,9 @@ class {{ service.py_name }}Stub(betterproto.ServiceStub): | ||||
|             {# Client streaming: need a request iterator instead #} | ||||
|             , {{ method.py_input_message_param }}_iterator: Union[AsyncIterable["{{ method.py_input_message_type }}"], Iterable["{{ method.py_input_message_type }}"]] | ||||
|         {%- endif -%} | ||||
|             , timeout: Optional[float] = None | ||||
|             , deadline: Optional["Deadline"] = None | ||||
|             , metadata: Optional["_MetadataLike"] = None | ||||
|             ) -> {% if method.server_streaming %}AsyncIterator["{{ method.py_output_message_type }}"]{% else %}"{{ method.py_output_message_type }}"{% endif %}: | ||||
|         {% if method.comment %} | ||||
| {{ method.comment }} | ||||
| @@ -98,6 +108,9 @@ class {{ service.py_name }}Stub(betterproto.ServiceStub): | ||||
|             {{ method.py_input_message_param }}_iterator, | ||||
|             {{ method.py_input_message_type }}, | ||||
|             {{ method.py_output_message_type.strip('"') }}, | ||||
|             timeout=timeout, | ||||
|             deadline=deadline, | ||||
|             metadata=metadata, | ||||
|         ): | ||||
|             yield response | ||||
|             {% else %}{# i.e. not client streaming #} | ||||
| @@ -105,6 +118,9 @@ class {{ service.py_name }}Stub(betterproto.ServiceStub): | ||||
|             "{{ method.route }}", | ||||
|             {{ method.py_input_message_param }}, | ||||
|             {{ method.py_output_message_type.strip('"') }}, | ||||
|             timeout=timeout, | ||||
|             deadline=deadline, | ||||
|             metadata=metadata, | ||||
|         ): | ||||
|             yield response | ||||
|  | ||||
| @@ -115,13 +131,19 @@ class {{ service.py_name }}Stub(betterproto.ServiceStub): | ||||
|             "{{ method.route }}", | ||||
|             {{ method.py_input_message_param }}_iterator, | ||||
|             {{ method.py_input_message_type }}, | ||||
|             {{ method.py_output_message_type.strip('"') }} | ||||
|             {{ method.py_output_message_type.strip('"') }}, | ||||
|             timeout=timeout, | ||||
|             deadline=deadline, | ||||
|             metadata=metadata, | ||||
|         ) | ||||
|             {% else %}{# i.e. not client streaming #} | ||||
|         return await self._unary_unary( | ||||
|             "{{ method.route }}", | ||||
|             {{ method.py_input_message_param }}, | ||||
|             {{ method.py_output_message_type.strip('"') }} | ||||
|             {{ method.py_output_message_type.strip('"') }}, | ||||
|             timeout=timeout, | ||||
|             deadline=deadline, | ||||
|             metadata=metadata, | ||||
|         ) | ||||
|             {% endif %}{# client streaming #} | ||||
|         {% endif %} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user