示例#1
0
    def handle_log(self):
        data = (None
                if 'data' not in self.log else DP.jsonify(self.log['data']))
        query_params = (None if 'query_params' not in self.log else DP.jsonify(
            self.log['query_params']))

        APIRequestLog(**{
            **self.log, 'data': data,
            'query_params': query_params
        }).save()
示例#2
0
    def handle_log(self):
        data = (
            None if 'data' not in self.log else
            DP.jsonify(self.log['data'])
        )
        query_params = (
            None if 'query_params' not in self.log else
            DP.jsonify(self.log['query_params'])
        )

        log = APILog(**{
            **self.log,
            'data': data,
            'query_params': query_params
        })
        log.save()

        if ((importlib.util.find_spec('purplship.server.orgs') is not None) and (getattr(self.request, 'org', None) is not None)):
            log.link = log.__class__.link.related.related_model.objects.create(
                org=self.request.org, item=log
            )
            log.save()
示例#3
0
    def parse(self, data: str, service_code: str) -> str:
        timestamp = str(int(time.time()))
        serialized_data = urllib.parse.quote_plus(data + timestamp + self.check_word)
        m = hashlib.md5()
        m.update(serialized_data.encode('utf-8'))
        md5_str = m.digest()
        msg_digest = base64.b64encode(md5_str).decode('utf-8')

        return DP.jsonify({
            "partnerID": self.partner_id,
            "requestID": str(uuid.uuid1()),
            "serviceCode": service_code,
            "timestamp": timestamp,
            "msgDigest": msg_digest,
            "msgData": data
        })