MCPcopy Index your code
hub / github.com/PyGithub/PyGithub / __requestEncode

Method __requestEncode

github/Requester.py:1181–1231  ·  view source on GitHub ↗
(
        self,
        cnx: HTTPRequestsConnectionClass | HTTPSRequestsConnectionClass | None,
        verb: str,
        url: str,
        parameters: dict[str, str] | None,
        requestHeaders: dict[str, str] | None,
        input: T | None,
        encode: Callable[[T], tuple[str, Any]],
        stream: bool = False,
        follow_302_redirect: bool = False,
    )

Source from the content-addressed store, hash-verified

1179 raise ValueError("requestMemoryBlobAndCheck() Expected a str, should never happen")
1180
1181 def __requestEncode(
1182 self,
1183 cnx: HTTPRequestsConnectionClass | HTTPSRequestsConnectionClass | None,
1184 verb: str,
1185 url: str,
1186 parameters: dict[str, str] | None,
1187 requestHeaders: dict[str, str] | None,
1188 input: T | None,
1189 encode: Callable[[T], tuple[str, Any]],
1190 stream: bool = False,
1191 follow_302_redirect: bool = False,
1192 ) -> tuple[int, dict[str, Any], str | object]:
1193 assert verb in ["HEAD", "GET", "POST", "PATCH", "PUT", "DELETE"]
1194 if parameters is None:
1195 parameters = {}
1196 if requestHeaders is None:
1197 requestHeaders = {}
1198
1199 if self.__auth is not None:
1200 self.__auth.authentication(requestHeaders)
1201 requestHeaders["User-Agent"] = self.__userAgent
1202
1203 url = self.__makeAbsoluteUrl(url)
1204 url = Requester.add_parameters_to_url(url, parameters)
1205
1206 encoded_input = None
1207 if input is not None:
1208 requestHeaders["Content-Type"], encoded_input = encode(input)
1209
1210 self.NEW_DEBUG_FRAME(requestHeaders)
1211
1212 status, responseHeaders, output = self.__requestRaw(
1213 cnx, verb, url, requestHeaders, encoded_input, stream=stream, follow_302_redirect=follow_302_redirect
1214 )
1215
1216 if Consts.headerRateRemaining in responseHeaders and Consts.headerRateLimit in responseHeaders:
1217 self.rate_limiting = (
1218 # ints expected but sometimes floats returned: https://github.com/PyGithub/PyGithub/pull/2697
1219 int(float(responseHeaders[Consts.headerRateRemaining])),
1220 int(float(responseHeaders[Consts.headerRateLimit])),
1221 )
1222 if Consts.headerRateReset in responseHeaders:
1223 # ints expected but sometimes floats returned: https://github.com/PyGithub/PyGithub/pull/2697
1224 self.rate_limiting_resettime = int(float(responseHeaders[Consts.headerRateReset]))
1225
1226 if Consts.headerOAuthScopes in responseHeaders:
1227 self.oauth_scopes = responseHeaders[Consts.headerOAuthScopes].split(", ")
1228
1229 self.DEBUG_ON_RESPONSE(status, responseHeaders, output if isinstance(output, str) else "stream")
1230
1231 return status, responseHeaders, output
1232
1233 def __requestRaw(
1234 self,

Callers 5

getStreamMethod · 0.95
requestJsonMethod · 0.95
requestMultipartMethod · 0.95
requestBlobMethod · 0.95

Calls 6

__makeAbsoluteUrlMethod · 0.95
NEW_DEBUG_FRAMEMethod · 0.95
__requestRawMethod · 0.95
DEBUG_ON_RESPONSEMethod · 0.95
add_parameters_to_urlMethod · 0.80
authenticationMethod · 0.45

Tested by

no test coverage detected