| 21 | class _Calls(Calls): |
| 22 | @override |
| 23 | def create( |
| 24 | self, |
| 25 | *, |
| 26 | sdp: str, |
| 27 | session: RealtimeSessionCreateRequestParam | Omit = omit, |
| 28 | extra_headers: Headers | None = None, |
| 29 | extra_query: Query | None = None, |
| 30 | extra_body: Body | None = None, |
| 31 | timeout: float | httpx.Timeout | None | NotGiven = not_given, |
| 32 | ) -> _legacy_response.HttpxBinaryResponseContent: |
| 33 | if session is omit: |
| 34 | extra_headers = {class="st">"Accept": class="st">"application/sdp", class="st">"Content-Type": class="st">"application/sdp", **(extra_headers or {})} |
| 35 | return self._post( |
| 36 | class="st">"/realtime/calls", |
| 37 | content=sdp.encode(class="st">"utf-8"), |
| 38 | options=make_request_options(extra_headers=extra_headers, extra_query=extra_query, timeout=timeout), |
| 39 | cast_to=_legacy_response.HttpxBinaryResponseContent, |
| 40 | ) |
| 41 | |
| 42 | extra_headers = {class="st">"Accept": class="st">"application/sdp", class="st">"Content-Type": class="st">"multipart/form-data", **(extra_headers or {})} |
| 43 | session_payload = maybe_transform(session, RealtimeSessionCreateRequestParam) |
| 44 | files = [ |
| 45 | (class="st">"sdp", (None, sdp.encode(class="st">"utf-8"), class="st">"application/sdp")), |
| 46 | (class="st">"session", (None, json.dumps(session_payload).encode(class="st">"utf-8"), class="st">"application/json")), |
| 47 | ] |
| 48 | return self._post( |
| 49 | class="st">"/realtime/calls", |
| 50 | files=files, |
| 51 | options=make_request_options( |
| 52 | extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout |
| 53 | ), |
| 54 | cast_to=_legacy_response.HttpxBinaryResponseContent, |
| 55 | ) |
| 56 | |
| 57 | |
| 58 | class _AsyncCalls(AsyncCalls): |