Esempio n. 1
0
    def post(self):

        try:
            form = self.request.form
            code = form["code"][0]
        except:
            return bad_request_with_detail("No data posted, or data in incorrect format")

        params = {"grant_type": "authorization_code", "redirect_uri": config.SPOTIFY_CALLBACK_URL, "code": code}

        token_response = requests.post(config.SPOTIFY_TOKEN_ENDPOINT, data=params, headers=auth_header, verify=True)

        response = HTTPResponse()
        response.content_type = "application/json"
        response.status_code = token_response.status_code

        if token_response.status_code == 200:
            json_response = token_response.json()
            refresh_token = json_response["refresh_token"]
            encrypted_token = crypt.encrypt(refresh_token)
            json_response["refresh_token"] = encrypted_token
            response_body = json.dumps(json_response)
            response.write(response_body)
        else:
            response.write_bytes(token_response.content)

        return response
Esempio n. 2
0
    def post(self):

        try:
            form = self.request.form
            code = form['code'][0]
        except:
            return bad_request_with_detail(
                'No data posted, or data in incorrect format')

        params = {
            "grant_type": "authorization_code",
            "redirect_uri": config.SPOTIFY_CALLBACK_URL,
            "code": code
        }

        token_response = requests.post(config.SPOTIFY_TOKEN_ENDPOINT,
                                       data=params,
                                       headers=auth_header,
                                       verify=True)

        response = HTTPResponse()
        response.content_type = 'application/json'
        response.status_code = token_response.status_code

        if token_response.status_code == 200:
            json_response = token_response.json()
            refresh_token = json_response["refresh_token"]
            encrypted_token = crypt.encrypt(refresh_token)
            json_response["refresh_token"] = encrypted_token
            response_body = json.dumps(json_response)
            response.write(response_body)
        else:
            response.write_bytes(token_response.content)

        return response
Esempio n. 3
0
 def prepare_response(self, content, status_code, content_type, headers):
     response = HTTPResponse(content_type=content_type)
     response.write(content)
     response.status_code = status_code
     for name, value in headers.iteritems():
         response.headers.append((name, value))
     return response
Esempio n. 4
0
def datatoZigBee(request):
    response = HTTPResponse()
    try:
        id= int(request.get_param('id'))
        data=request.get_param('data').encode("ascii")
        addr=dictionary[id]['addr']
        addr_long=dictionary[id]['addr_long']
        sendToZigBee(addr_long, addr, data)
    except Exception as e:
        print ("Error enviando datos "+ str(e))
        response.status_code = 401
    return response
Esempio n. 5
0
    def post(self):
        """
        Handle HTTP POST.
        """

        method = self.get_method()
        body = self.get_body()

        # TODO handle method exception.
        result = method(**body)
        payload = self.encoder.encode(result)

        response = HTTPResponse(content_type="application/json")
        response.status_code = 200
        response.write(payload)

        return response
Esempio n. 6
0
    def post(self):
        """
        Handle HTTP POST.
        """

        method = self.get_method()
        body = self.get_body()

        # TODO handle method exception.
        result = method(**body)
        payload = self.encoder.encode(result)

        response = HTTPResponse(content_type="application/json")
        response.status_code = 200
        response.write(payload)

        return response
Esempio n. 7
0
    def post(self):

        try:
            form = self.request.form
            encrypted_token = form["refresh_token"][0]
            token = crypt.decrypt(encrypted_token)
        except:
            return bad_request_with_detail("No data posted, or data in incorrect format")

        params = {"grant_type": "refresh_token", "refresh_token": token}

        token_response = requests.post(config.SPOTIFY_TOKEN_ENDPOINT, data=params, headers=auth_header, verify=True)

        response = HTTPResponse()
        response.content_type = "application/json"
        response.status_code = token_response.status_code
        response.write_bytes(token_response.content)
        return response
Esempio n. 8
0
    def wrap_request(self, request, *args, **kwargs):
        '''
        Prepares data and pass control to `restea.Resource` object

        :returns: :class: `wheezy.http.HTTPResponse`
        '''
        data_format, kwargs = self._get_format_name(kwargs)
        formatter = formats.get_formatter(data_format)

        resource = self._resource_class(
            WheezyRequestWrapper(request), formatter
        )
        res, status_code, content_type = resource.dispatch(*args, **kwargs)

        response = HTTPResponse(
            content_type=content_type,
        )
        response.write(res)
        response.status_code = status_code
        return response
Esempio n. 9
0
    def post(self):

        try:
            form = self.request.form
            encrypted_token = form['refresh_token'][0]
            token = crypt.decrypt(encrypted_token)
        except:
            return bad_request_with_detail(
                'No data posted, or data in incorrect format')

        params = {"grant_type": "refresh_token", "refresh_token": token}

        token_response = requests.post(config.SPOTIFY_TOKEN_ENDPOINT,
                                       data=params,
                                       headers=auth_header,
                                       verify=True)

        response = HTTPResponse()
        response.content_type = 'application/json'
        response.status_code = token_response.status_code
        response.write_bytes(token_response.content)
        return response
Esempio n. 10
0
 def _error_response(self, request, error):
     resp = HTTPResponse()
     resp.status_code = ERROR_STATUS_CODE
     resp.write_bytes(json.dumps({'error': error}))
     return resp
Esempio n. 11
0
 def _error_response(self, request, error):
     resp = HTTPResponse()
     resp.status_code = ERROR_STATUS_CODE
     resp.write_bytes(json.dumps({'error': error}))
     return resp
Esempio n. 12
0
 def post(self):
     data = self.request.form
     insert(data)
     response = HTTPResponse()
     response.status_code = 201
     return response