Beispiel #1
0
 def _request(method: str, url: str, payload=None, params: dict = None):
     return Request(
         method=method,
         url=url,
         params=parse_url_params(params),
         data=json.dumps(payload) if payload is not None else None,
     ), ()
Beispiel #2
0
    def send(
            self, request: Request
    ) -> Union[Response, Coroutine[None, None, Response]]:
        """
        Build request url and headers, and send with underlying sender.

        Exposed to easily send arbitrary requests,
        for custom behavior in some endpoint e.g. for a subclass.
        It may also come in handy if a bugfix or a feature is not implemented
        in a timely manner, or in debugging related to the client or Web API.
        """
        request.url = build_url(request.url)
        headers = self._create_headers()
        if request.headers is not None:
            headers.update(request.headers)
        request.headers = headers
        return self.sender.send(request)
Beispiel #3
0
 def _request(method: str,
              url: str,
              payload: dict = None,
              params: dict = None):
     return Request(
         method=method,
         url=url,
         params=parse_url_params(params),
         json=payload,
     ), ()
Beispiel #4
0
    def playlist_cover_image_upload(self, playlist_id: str, image: str) -> None:
        """
        Upload a custom playlist cover image.

        Parameters
        ----------
        playlist_id
            playlist ID
        image
            image data as a base64-encoded string
        """
        return Request(
            method='PUT',
            url=f'playlists/{playlist_id}/images',
            headers={'Content-Type': 'image/jpeg'},
            data=image,
        ), ()