зеркало из https://github.com/microsoft/CCF.git
161 строка
3.6 KiB
ReStructuredText
161 строка
3.6 KiB
ReStructuredText
Developer API
|
|
=============
|
|
|
|
A CCF application is composed of the following:
|
|
|
|
- The :ref:`Application Entry Point <build_apps/api:Application Entry Point>` which creates the application in CCF.
|
|
- A collection of :cpp:class:`endpoints <ccf::endpoints::Endpoint>` handling HTTP requests and grouped in a single :cpp:class:`registry <ccf::endpoints::EndpointRegistry>`. An :cpp:class:`endpoint <ccf::endpoints::Endpoint>` reads and writes to the key-value store via the :ref:`Key-Value Store API <build_apps/kv/api:Key-Value Store API>`.
|
|
- An optional set of :ref:`JavaScript FFI Plugins <build_apps/api:JavaScript FFI Plugins>` that can be registered to extend the built-in JavaScript API surface.
|
|
|
|
Application Entry Point
|
|
-----------------------
|
|
|
|
.. doxygenfunction:: ccf::make_user_endpoints
|
|
:project: CCF
|
|
|
|
|
|
Application Endpoint Registration
|
|
---------------------------------
|
|
|
|
.. doxygenstruct:: ccf::endpoints::Endpoint
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenclass:: ccf::endpoints::EndpointRegistry
|
|
:project: CCF
|
|
:members: install, set_default
|
|
|
|
.. doxygenclass:: ccf::CommonEndpointRegistry
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenstruct:: ccf::EndpointMetricsEntry
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenstruct:: ccf::EndpointMetrics
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenclass:: ccf::BaseEndpointRegistry
|
|
:project: CCF
|
|
:members:
|
|
|
|
RPC Context
|
|
-----------
|
|
|
|
.. doxygenclass:: ccf::RpcContext
|
|
:project: CCF
|
|
:members: get_session_context, get_request_body, get_request_query, get_request_path_params, get_request_verb, get_request_path, get_request_headers, get_request_header, get_request_url, set_claims_digest
|
|
|
|
Authentication
|
|
--------------
|
|
|
|
Policies
|
|
~~~~~~~~
|
|
|
|
.. doxygenvariable:: ccf::empty_auth_policy
|
|
:project: CCF
|
|
|
|
.. doxygenvariable:: ccf::user_cert_auth_policy
|
|
:project: CCF
|
|
|
|
.. doxygenvariable:: ccf::member_cert_auth_policy
|
|
:project: CCF
|
|
|
|
.. doxygenvariable:: ccf::member_cose_sign1_auth_policy
|
|
:project: CCF
|
|
|
|
.. doxygenvariable:: ccf::user_cose_sign1_auth_policy
|
|
:project: CCF
|
|
|
|
.. doxygenvariable:: ccf::jwt_auth_policy
|
|
:project: CCF
|
|
|
|
.. doxygenclass:: ccf::TypedUserCOSESign1AuthnPolicy
|
|
:project: CCF
|
|
|
|
Identities
|
|
~~~~~~~~~~
|
|
|
|
.. doxygenstruct:: ccf::UserCertAuthnIdentity
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenstruct:: ccf::MemberCertAuthnIdentity
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenstruct:: ccf::UserCOSESign1AuthnIdentity
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenstruct:: ccf::MemberCOSESign1AuthnIdentity
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenstruct:: ccf::JwtAuthnIdentity
|
|
:project: CCF
|
|
:members:
|
|
|
|
Supporting Types
|
|
----------------
|
|
|
|
.. doxygenenum:: ccf::TxStatus
|
|
:project: CCF
|
|
|
|
.. doxygentypedef:: ccf::View
|
|
:project: CCF
|
|
|
|
.. doxygentypedef:: ccf::SeqNo
|
|
:project: CCF
|
|
|
|
.. doxygenstruct:: ccf::TxID
|
|
:project: CCF
|
|
|
|
.. doxygenenum:: ccf::ApiResult
|
|
:project: CCF
|
|
|
|
|
|
Historical Queries
|
|
------------------
|
|
|
|
.. doxygenfunction:: ccf::historical::adapter_v3
|
|
:project: CCF
|
|
|
|
.. doxygenclass:: ccf::historical::AbstractStateCache
|
|
:project: CCF
|
|
:members: set_default_expiry_duration, set_soft_cache_limit, get_state_at, get_store_at, get_store_range, drop_cached_states
|
|
|
|
.. doxygenstruct:: ccf::historical::State
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenclass:: ccf::Receipt
|
|
:project: CCF
|
|
:members:
|
|
|
|
Indexing
|
|
--------
|
|
|
|
.. doxygenclass:: ccf::indexing::Strategy
|
|
:project: CCF
|
|
:members:
|
|
|
|
.. doxygenclass:: ccf::indexing::strategies::SeqnosByKey_Bucketed_Untyped
|
|
:project: CCF
|
|
:members:
|
|
|
|
JavaScript FFI Plugins
|
|
----------------------
|
|
|
|
.. doxygenfunction:: ccf::get_js_plugins
|
|
:project: CCF
|
|
|
|
HTTP Entity Tags Matching
|
|
-------------------------
|
|
|
|
.. doxygenclass:: ccf::http::Matcher
|
|
:project: CCF
|
|
:members:
|