Go to the documentation of this file.
26 #include <ext/spl/spl_exceptions.h>
27 #include <zend_exceptions.h>
47 zend_class_entry *class_type TSRMLS_DC) {
49 zend_object_std_init(&
intern->std, class_type TSRMLS_CC);
50 object_properties_init(&
intern->std, class_type);
52 call_credentials_ce_handlers);
57 zval *credentials_object;
60 wrapped_grpc_call_credentials *credentials =
64 return credentials_object;
78 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"OO", &cred1_obj,
81 zend_throw_exception(spl_ce_InvalidArgumentException,
82 "createComposite expects 2 CallCredentials",
86 wrapped_grpc_call_credentials *cred1 =
88 wrapped_grpc_call_credentials *cred2 =
103 zend_fcall_info *fci;
104 zend_fcall_info_cache *fci_cache;
106 fci = (zend_fcall_info *)malloc(
sizeof(zend_fcall_info));
107 fci_cache = (zend_fcall_info_cache *)malloc(
sizeof(zend_fcall_info_cache));
108 memset(fci, 0,
sizeof(zend_fcall_info));
109 memset(fci_cache, 0,
sizeof(zend_fcall_info_cache));
112 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"f*", fci, fci_cache,
113 fci->params, fci->param_count) == FAILURE) {
114 zend_throw_exception(spl_ce_InvalidArgumentException,
115 "createFromPlugin expects 1 callback", 1 TSRMLS_CC);
127 state->fci_cache = fci_cache;
148 const char **error_details) {
163 state->fci->retval = retval;
164 state->fci->param_count = 1;
168 gpr_log(
GPR_INFO,
"GRPC_PHP: call credentials plugin function - begin");
170 zend_call_function(
state->fci,
state->fci_cache TSRMLS_CC);
175 *error_details = NULL;
177 bool should_return =
false;
180 if (retval == NULL || Z_TYPE_P(retval) != IS_ARRAY) {
182 should_return =
true;
186 should_return =
true;
190 if (retval != NULL) {
192 zval_ptr_dtor(retval);
203 "PHP plugin credentials returned too many metadata entries");
224 free(
state->fci_cache);
228 ZEND_BEGIN_ARG_INFO_EX(arginfo_createComposite, 0, 0, 2)
229 ZEND_ARG_INFO(0, creds1)
230 ZEND_ARG_INFO(0, creds2)
233 ZEND_BEGIN_ARG_INFO_EX(arginfo_createFromPlugin, 0, 0, 1)
239 ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
241 ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
251 call_credentials_ce_handlers);
#define php_grpc_add_property_string(arg, name, context, b)
GPRAPI void grpc_slice_unref(grpc_slice s)
#define GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX
void(* grpc_credentials_plugin_metadata_cb)(void *user_data, const grpc_metadata *creds_md, size_t num_creds_md, grpc_status_code status, const char *error_details)
#define php_grpc_zend_object
return memset(p, 0, total)
#define PHP_GRPC_FREE_STD_ZVAL(pzv)
zval * grpc_php_wrap_call_credentials(grpc_call_credentials *wrapped TSRMLS_DC)
GRPCAPI grpc_call_credentials * grpc_metadata_credentials_create_from_plugin(grpc_metadata_credentials_plugin plugin, grpc_security_level min_security_level, void *reserved)
GRPCAPI void grpc_call_credentials_release(grpc_call_credentials *creds)
GRPCAPI grpc_call_credentials * grpc_composite_call_credentials_create(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved)
@ GRPC_STATUS_INVALID_ARGUMENT
void plugin_destroy_state(void *ptr)
#define PHP_GRPC_INIT_HANDLER(class_object, handler_name)
GRPCAPI void grpc_metadata_array_destroy(grpc_metadata_array *array)
#define PHP_GRPC_FREE_WRAPPED_FUNC_END()
#define PHP_GRPC_DECLARE_OBJECT_HANDLER(handler_name)
#define PHP_GRPC_GET_WRAPPED_OBJECT(class_object, zv)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
void grpc_php_metadata_array_destroy_including_entries(grpc_metadata_array *array)
zend_class_entry * grpc_ce_call_credentials
PHP_METHOD(CallCredentials, createComposite)
static void callback(void *arg, int status, int timeouts, struct hostent *host)
void grpc_init_call_credentials(TSRMLS_D)
static zend_function_entry call_credentials_methods[]
upb_strtable_uninit & intern
#define PHP_GRPC_MAKE_STD_ZVAL(pzv)
#define PHP_GRPC_ALLOC_CLASS_OBJECT(class_object)
int plugin_get_metadata(void *ptr, grpc_auth_metadata_context context, grpc_credentials_plugin_metadata_cb cb, void *user_data, grpc_metadata creds_md[GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX], size_t *num_creds_md, grpc_status_code *status, const char **error_details)
bool create_metadata_array(zval *array, grpc_metadata_array *metadata)
@ GRPC_PRIVACY_AND_INTEGRITY
#define PHP_GRPC_FREE_CLASS_OBJECT(class_object, handler)
GPRAPI char * gpr_strdup(const char *src)
#define PHP_GRPC_DELREF(zv)
grpc::ClientContext context
#define PHP_GRPC_FREE_WRAPPED_FUNC_START(class_object)
#define RETURN_DESTROY_ZVAL(val)
OPENSSL_EXPORT pem_password_cb * cb
static struct rpc_state state
php_grpc_zend_object create_wrapped_grpc_call_credentials(zend_class_entry *class_type TSRMLS_DC)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:51