MCPcopy Create free account
hub / github.com/aws/aws-cli / Endpoint

Class Endpoint

awscli/botocore/endpoint.py:77–381  ·  view source on GitHub ↗

Represents an endpoint for a particular service in a specific region. Only an endpoint can make requests. :ivar service: The Service object that describes this endpoints service. :ivar host: The fully qualified endpoint hostname. :ivar session: The session object.

Source from the content-addressed store, hash-verified

75
76
77class Endpoint:
78 """
79 Represents an endpoint for a particular service in a specific
80 region. Only an endpoint can make requests.
81
82 :ivar service: The Service object that describes this endpoints
83 service.
84 :ivar host: The fully qualified endpoint hostname.
85 :ivar session: The session object.
86 """
87
88 def __init__(
89 self,
90 host,
91 endpoint_prefix,
92 event_emitter,
93 response_parser_factory=None,
94 http_session=None,
95 ):
96 self._endpoint_prefix = endpoint_prefix
97 self._event_emitter = event_emitter
98 self.host = host
99 self._lock = threading.Lock()
100 if response_parser_factory is None:
101 response_parser_factory = parsers.ResponseParserFactory()
102 self._response_parser_factory = response_parser_factory
103 self.http_session = http_session
104 if self.http_session is None:
105 self.http_session = URLLib3Session()
106
107 def __repr__(self):
108 return f'{self._endpoint_prefix}({self.host})'
109
110 def make_request(self, operation_model, request_dict):
111 logger.debug(
112 "Making request for %s with params: %s",
113 operation_model,
114 request_dict,
115 )
116 return self._send_request(request_dict, operation_model)
117
118 def create_request(self, params, operation_model=None):
119 request = create_request_object(params)
120 if operation_model:
121 request.stream_output = any(
122 [
123 operation_model.has_streaming_output,
124 operation_model.has_event_stream_output,
125 ]
126 )
127 service_id = operation_model.service_model.service_id.hyphenize()
128 event_name = f'request-created.{service_id}.{operation_model.name}'
129 self._event_emitter.emit(
130 event_name,
131 request=request,
132 operation_name=operation_model.name,
133 )
134 prepared_request = self.prepare_request(request)

Callers 2

setUpMethod · 0.90
create_endpointMethod · 0.85

Calls

no outgoing calls

Tested by 1

setUpMethod · 0.72