Skip to content

Update /healthz endpoint #121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Nov 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ regula/__init__.py
regula/facesdk/__init__.py
regula/facesdk/webclient/gen/__init__.py
regula/facesdk/webclient/gen/api/__init__.py
regula/facesdk/webclient/gen/api/diagnostics_api.py
regula/facesdk/webclient/gen/api/group_api.py
regula/facesdk/webclient/gen/api/healthcheck_api.py
regula/facesdk/webclient/gen/api/liveness_2_0_api.py
regula/facesdk/webclient/gen/api/matching_api.py
regula/facesdk/webclient/gen/api/match_api.py
regula/facesdk/webclient/gen/api/person_api.py
regula/facesdk/webclient/gen/api/search_api.py
regula/facesdk/webclient/gen/api_client.py
Expand All @@ -27,6 +27,7 @@ regula/facesdk/webclient/gen/model/detection.py
regula/facesdk/webclient/gen/model/detection_attributes.py
regula/facesdk/webclient/gen/model/detection_face.py
regula/facesdk/webclient/gen/model/detection_quality.py
regula/facesdk/webclient/gen/model/device_info.py
regula/facesdk/webclient/gen/model/face_attribute.py
regula/facesdk/webclient/gen/model/face_image_quality_align_type.py
regula/facesdk/webclient/gen/model/face_image_quality_groups.py
Expand Down
6 changes: 3 additions & 3 deletions example/example.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
MatchImage(index=3, data=face_2_bytes),
]
match_request = MatchRequest(images=images, thumbnails=True)
match_response = sdk.matching_api.match(match_request)
match_response = sdk.match_api.match(match_request)

print("-----------------------------------------------------------------")
print(" Matching Results ")
Expand All @@ -31,7 +31,7 @@
print("-----------------------------------------------------------------")

detect_request = DetectRequest(image=face_1_bytes)
detect_response = sdk.matching_api.detect(detect_request)
detect_response = sdk.match_api.detect(detect_request)
detect_results = detect_response.results

print(" Detect Results ")
Expand All @@ -51,7 +51,7 @@
only_central_face=True
)
)
detect_image_quality_response = sdk.matching_api.detect(detect_image_quality_request)
detect_image_quality_response = sdk.match_api.detect(detect_image_quality_request)
detect_image_quality_result = detect_image_quality_response.results
print(" Detect Image Quality Results ")
print("-----------------------------------------------------------------")
Expand Down
2 changes: 1 addition & 1 deletion example/example_identification_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
print(f"Group {group.id} {group.name}")
print(result)

match_and_search = sdk.matching_api.match_and_search(
match_and_search = sdk.match_api.match_and_search(
images=[MatchAndSearchRequestAllOfImages(base64.b64encode(face_1_bytes).decode("UTF-8"), ImageSource.LIVE),
MatchAndSearchRequestAllOfImages(base64.b64encode(face_2_bytes).decode("UTF-8"), ImageSource.LIVE)],
group_ids=[group.id]
Expand Down
2 changes: 1 addition & 1 deletion regula/facesdk/webclient/ext/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from regula.facesdk.webclient.ext.api import MatchingApi, FaceSdk
from regula.facesdk.webclient.ext.api import MatchApi, FaceSdk
from regula.facesdk.webclient.ext.common import Base64String
from regula.facesdk.webclient.ext.models import MatchRequest
from regula.facesdk.webclient.ext.models import MatchImage
Expand Down
2 changes: 1 addition & 1 deletion regula/facesdk/webclient/ext/api/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from regula.facesdk.webclient.ext.api.matching_api import MatchingApi
from regula.facesdk.webclient.ext.api.match_api import MatchApi
from regula.facesdk.webclient.ext.api.person_api import PersonApi
from regula.facesdk.webclient.ext.api.sdk import FaceSdk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import List

from regula.facesdk.webclient.gen import Configuration, ApiClient
from regula.facesdk.webclient.gen.apis import MatchingApi as GenMatchingApi
from regula.facesdk.webclient.gen.apis import MatchApi as GenMatchApi
from regula.facesdk.webclient.ext.models import MatchRequest, DetectRequest
from regula.facesdk.webclient.gen.model.detect_response import DetectResponse
from regula.facesdk.webclient.gen.model.match_and_search_request import MatchAndSearchRequest
Expand All @@ -10,7 +10,7 @@
from regula.facesdk.webclient.gen.model.match_response import MatchResponse


class MatchingApi(GenMatchingApi):
class MatchApi(GenMatchApi):
def __init__(self, host=None, debug=False, verify_ssl=False, api_client=None):
if api_client:
super().__init__(api_client)
Expand Down
4 changes: 2 additions & 2 deletions regula/facesdk/webclient/ext/api/sdk.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from regula.facesdk.webclient.ext.api import MatchingApi
from regula.facesdk.webclient.ext.api import MatchApi
from regula.facesdk.webclient.ext.api import PersonApi
from regula.facesdk.webclient.ext.api.group_api import GroupApi
from regula.facesdk.webclient.ext.api.search_api import SearchApi
Expand All @@ -16,7 +16,7 @@ def __init__(self, host=None, debug=None, verify_ssl=False, api_client=None):

self.__api_client = ApiClient(configuration=configuration)

self.matching_api = MatchingApi(api_client=self.__api_client)
self.match_api = MatchApi(api_client=self.__api_client)
self.person_api = PersonApi(api_client=self.__api_client)
self.group_api = GroupApi(api_client=self.__api_client)
self.search_api = SearchApi(api_client=self.__api_client)
Expand Down
2 changes: 1 addition & 1 deletion regula/facesdk/webclient/gen/api/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# do not import all apis into this module because that uses a lot of memory and stack frames
# if you need the ability to import all apis from one package, import them with
# from regula.facesdk.webclient.gen.apis import DiagnosticsApi
# from regula.facesdk.webclient.gen.apis import GroupApi
283 changes: 283 additions & 0 deletions regula/facesdk/webclient/gen/api/healthcheck_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
# coding: utf-8

"""
Regula Face SDK Web API

<a href=\"https://regulaforensics.com/products/face-recognition-sdk/ \" target=\"_blank\">Regula Face SDK</a> is a cross-platform biometric verification solution for a digital identity verification process and image quality assurance. The SDK enables convenient and reliable face capture on the client side (mobile, web, and desktop) and further processing on the client or server side. The Face SDK includes the following features: * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#face-detection\" target=\"_blank\">Face detection and image quality assessment</a> * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#face-comparison-11\" target=\"_blank\">Face match (1:1)</a> * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#face-identification-1n\" target=\"_blank\">Face search (1:N)</a> * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#liveness-assessment\" target=\"_blank\">Liveness detection</a> Here is the <a href=\"https://github.com/regulaforensics/FaceSDK-web-openapi \" target=\"_blank\">OpenAPI specification on GitHub</a>. ### Clients * [JavaScript](https://github.com/regulaforensics/FaceSDK-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/FaceSDK-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/FaceSDK-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/FaceSDK-web-csharp-client) client for .NET & .NET Core # noqa: E501

The version of the OpenAPI document: 6.2.0
Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import re # noqa: F401

# python 2 and python 3 compatibility library
import six

from regula.facesdk.webclient.gen.api_client import ApiClient
from regula.facesdk.webclient.gen.exceptions import ( # noqa: F401
ApiTypeError,
ApiValueError
)


class HealthcheckApi(object):
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech

Do not edit the class manually.
"""

def __init__(self, api_client=None):
if api_client is None:
api_client = ApiClient()
self.api_client = api_client

def healthz(self, **kwargs): # noqa: E501
"""Server healthcheck # noqa: E501

This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True

>>> thread = api.healthz(async_req=True)
>>> result = thread.get()

:param x_request_id: Request header label.
:type x_request_id: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:type _preload_content: bool, optional
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
:rtype: DeviceInfo
"""
kwargs['_return_http_data_only'] = True
return self.healthz_with_http_info(**kwargs) # noqa: E501

def healthz_with_http_info(self, **kwargs): # noqa: E501
"""Server healthcheck # noqa: E501

This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True

>>> thread = api.healthz_with_http_info(async_req=True)
>>> result = thread.get()

:param x_request_id: Request header label.
:type x_request_id: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
:param _return_http_data_only: response data without head status code
and headers
:type _return_http_data_only: bool, optional
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:type _preload_content: bool, optional
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the authentication
in the spec for a single request.
:type _request_auth: dict, optional
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
:rtype: tuple(DeviceInfo, status_code(int), headers(HTTPHeaderDict))
"""

local_var_params = locals()

all_params = [
'x_request_id',
]
all_params.extend(
[
'async_req',
'_return_http_data_only',
'_preload_content',
'_request_timeout',
'_request_auth'
]
)

for key, val in six.iteritems(local_var_params['kwargs']):
if key not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'"
" to method healthz" % key
)
local_var_params[key] = val
del local_var_params['kwargs']

collection_formats = {}

path_params = {}

query_params = []

header_params = {}
if 'x_request_id' in local_var_params:
header_params['X-RequestID'] = local_var_params['x_request_id'] # noqa: E501

form_params = []
local_var_files = {}

body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501

# Authentication setting
auth_settings = [] # noqa: E501

return self.api_client.call_api(
'/api/healthz', 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='DeviceInfo', # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
_request_auth=local_var_params.get('_request_auth'))

def readyz(self, **kwargs): # noqa: E501
"""License healthcheck # noqa: E501

This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True

>>> thread = api.readyz(async_req=True)
>>> result = thread.get()

:param x_request_id: Request header label.
:type x_request_id: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:type _preload_content: bool, optional
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
:rtype: None
"""
kwargs['_return_http_data_only'] = True
return self.readyz_with_http_info(**kwargs) # noqa: E501

def readyz_with_http_info(self, **kwargs): # noqa: E501
"""License healthcheck # noqa: E501

This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True

>>> thread = api.readyz_with_http_info(async_req=True)
>>> result = thread.get()

:param x_request_id: Request header label.
:type x_request_id: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
:param _return_http_data_only: response data without head status code
and headers
:type _return_http_data_only: bool, optional
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:type _preload_content: bool, optional
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the authentication
in the spec for a single request.
:type _request_auth: dict, optional
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
:rtype: None
"""

local_var_params = locals()

all_params = [
'x_request_id',
]
all_params.extend(
[
'async_req',
'_return_http_data_only',
'_preload_content',
'_request_timeout',
'_request_auth'
]
)

for key, val in six.iteritems(local_var_params['kwargs']):
if key not in all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'"
" to method readyz" % key
)
local_var_params[key] = val
del local_var_params['kwargs']

collection_formats = {}

path_params = {}

query_params = []

header_params = {}
if 'x_request_id' in local_var_params:
header_params['X-RequestID'] = local_var_params['x_request_id'] # noqa: E501

form_params = []
local_var_files = {}

body_params = None
# Authentication setting
auth_settings = [] # noqa: E501

return self.api_client.call_api(
'/api/readyz', 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type=None, # noqa: E501
auth_settings=auth_settings,
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats=collection_formats,
_request_auth=local_var_params.get('_request_auth'))
Loading
Loading