def normalize_event(self, event=None, raw_event=None): if raw_event is None: raw_event = json.dumps(event, ensure_ascii=False).encode( "utf-8", errors="replace" ) event = encode_str(raw_event, mutable=True) rustcall(lib.semaphore_translate_legacy_python_json, event) rv = self._methodcall(lib.semaphore_store_normalizer_normalize_event, event) return json.loads(decode_str(rv))
def __new__(cls, geoip_lookup=None, **config): config = json.dumps(config) geoptr = geoip_lookup._get_objptr() if geoip_lookup is not None else ffi.NULL rv = cls._from_objptr( rustcall(lib.semaphore_store_normalizer_new, encode_str(config), geoptr) ) if geoip_lookup is not None: attached_refs[rv] = geoip_lookup return rv
def create_register_challenge(data, signature, max_age=60 * 15): rv = json.loads( decode_str( rustcall(lib.semaphore_create_register_challenge, make_buf(data), encode_str(signature), max_age))) return { 'relay_id': uuid.UUID(rv['relay_id']), 'public_key': PublicKey.parse(rv['public_key']), 'token': rv['token'], }
def validate_register_response(public_key, data, signature, max_age=60 * 15): rv = json.loads( decode_str( rustcall(lib.semaphore_validate_register_response, public_key._objptr, make_buf(data), encode_str(signature), max_age))) return { 'relay_id': uuid.UUID(rv['relay_id']), 'token': rv['token'], }
def split_chunks(string, remarks): return json.loads( decode_str( rustcall( lib.semaphore_split_chunks, encode_str(string), encode_str(json.dumps(remarks)), ) ) )
def validate_register_response(public_key, data, signature, max_age=60 * 15): rv = json.loads( decode_str( rustcall( lib.semaphore_validate_register_response, public_key._objptr, make_buf(data), encode_str(signature), max_age, ) ) ) return {"relay_id": uuid.UUID(rv["relay_id"]), "token": rv["token"]}
def create_register_challenge(data, signature, max_age=60 * 15): rv = json.loads( decode_str( rustcall( lib.semaphore_create_register_challenge, make_buf(data), encode_str(signature), max_age, ) ) ) return { "relay_id": uuid.UUID(rv["relay_id"]), "public_key": PublicKey.parse(rv["public_key"]), "token": rv["token"], }
def generate_relay_id(): return decode_uuid(rustcall(lib.semaphore_generate_relay_id))
def generate_key_pair(): rv = rustcall(lib.semaphore_generate_key_pair) return ( SecretKey._from_objptr(rv.secret_key), PublicKey._from_objptr(rv.public_key), )
def parse(cls, string): s = encode_str(string) ptr = rustcall(lib.semaphore_secretkey_parse, s) return cls._from_objptr(ptr)
def get_register_response_relay_id(data): return decode_uuid( rustcall(lib.semaphore_get_register_response_relay_id, make_buf(data)) )
def from_path(cls, path): if isinstance(path, text_type): path = path.encode("utf-8") rv = cls._from_objptr(rustcall(lib.semaphore_geoip_lookup_new, path)) rv._path = path return rv