Lines Matching refs:mrb
44 mrb_value env_init(mrb_state *mrb, mrb_value self) { return self; } in env_init() argument
48 mrb_value env_get_req(mrb_state *mrb, mrb_value self) { in env_get_req() argument
49 return mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "req")); in env_get_req()
54 mrb_value env_get_resp(mrb_state *mrb, mrb_value self) { in env_get_resp() argument
55 return mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "resp")); in env_get_resp()
60 mrb_value env_get_ctx(mrb_state *mrb, mrb_value self) { in env_get_ctx() argument
61 auto data = reinterpret_cast<MRubyAssocData *>(mrb->ud); in env_get_ctx()
64 auto dsym = intern_ptr(mrb, downstream); in env_get_ctx()
66 auto ctx = mrb_iv_get(mrb, self, dsym); in env_get_ctx()
68 ctx = mrb_hash_new(mrb); in env_get_ctx()
69 mrb_iv_set(mrb, self, dsym, ctx); in env_get_ctx()
77 mrb_value env_get_phase(mrb_state *mrb, mrb_value self) { in env_get_phase() argument
78 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_phase()
85 mrb_value env_get_remote_addr(mrb_state *mrb, mrb_value self) { in env_get_remote_addr() argument
86 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_remote_addr()
93 return mrb_str_new(mrb, ipaddr.c_str(), ipaddr.size()); in env_get_remote_addr()
98 mrb_value env_get_server_port(mrb_state *mrb, mrb_value self) { in env_get_server_port() argument
99 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_server_port()
110 mrb_value env_get_server_addr(mrb_state *mrb, mrb_value self) { in env_get_server_addr() argument
111 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_server_addr()
117 return mrb_str_new(mrb, faddr->host.c_str(), faddr->host.size()); in env_get_server_addr()
122 mrb_value env_get_tls_used(mrb_state *mrb, mrb_value self) { in env_get_tls_used() argument
123 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_used()
133 mrb_value env_get_tls_sni(mrb_state *mrb, mrb_value self) { in env_get_tls_sni() argument
134 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_sni()
140 return mrb_str_new(mrb, sni.c_str(), sni.size()); in env_get_tls_sni()
145 mrb_value env_get_tls_client_fingerprint_md(mrb_state *mrb, const EVP_MD *md) { in env_get_tls_client_fingerprint_md() argument
146 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_client_fingerprint_md()
153 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_fingerprint_md()
158 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_fingerprint_md()
166 mrb_raise(mrb, E_RUNTIME_ERROR, "could not compute client fingerprint"); in env_get_tls_client_fingerprint_md()
173 return mrb_str_new(mrb, f.c_str(), f.size()); in env_get_tls_client_fingerprint_md()
178 mrb_value env_get_tls_client_fingerprint_sha256(mrb_state *mrb, in env_get_tls_client_fingerprint_sha256() argument
180 return env_get_tls_client_fingerprint_md(mrb, EVP_sha256()); in env_get_tls_client_fingerprint_sha256()
185 mrb_value env_get_tls_client_fingerprint_sha1(mrb_state *mrb, mrb_value self) { in env_get_tls_client_fingerprint_sha1() argument
186 return env_get_tls_client_fingerprint_md(mrb, EVP_sha1()); in env_get_tls_client_fingerprint_sha1()
191 mrb_value env_get_tls_client_subject_name(mrb_state *mrb, mrb_value self) { in env_get_tls_client_subject_name() argument
192 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_client_subject_name()
199 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_subject_name()
204 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_subject_name()
210 return mrb_str_new(mrb, name.c_str(), name.size()); in env_get_tls_client_subject_name()
215 mrb_value env_get_tls_client_issuer_name(mrb_state *mrb, mrb_value self) { in env_get_tls_client_issuer_name() argument
216 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_client_issuer_name()
223 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_issuer_name()
228 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_issuer_name()
234 return mrb_str_new(mrb, name.c_str(), name.size()); in env_get_tls_client_issuer_name()
239 mrb_value env_get_tls_client_serial(mrb_state *mrb, mrb_value self) { in env_get_tls_client_serial() argument
240 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_client_serial()
247 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_serial()
252 return mrb_str_new_static(mrb, "", 0); in env_get_tls_client_serial()
258 return mrb_str_new(mrb, sn.c_str(), sn.size()); in env_get_tls_client_serial()
263 mrb_value env_get_tls_client_not_before(mrb_state *mrb, mrb_value self) { in env_get_tls_client_not_before() argument
264 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_client_not_before()
289 mrb_value env_get_tls_client_not_after(mrb_state *mrb, mrb_value self) { in env_get_tls_client_not_after() argument
290 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_client_not_after()
315 mrb_value env_get_tls_cipher(mrb_state *mrb, mrb_value self) { in env_get_tls_cipher() argument
316 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_cipher()
323 return mrb_str_new_static(mrb, "", 0); in env_get_tls_cipher()
326 return mrb_str_new_cstr(mrb, SSL_get_cipher_name(ssl)); in env_get_tls_cipher()
331 mrb_value env_get_tls_protocol(mrb_state *mrb, mrb_value self) { in env_get_tls_protocol() argument
332 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_protocol()
339 return mrb_str_new_static(mrb, "", 0); in env_get_tls_protocol()
342 return mrb_str_new_cstr(mrb, nghttp2::tls::get_tls_protocol(ssl)); in env_get_tls_protocol()
347 mrb_value env_get_tls_session_id(mrb_state *mrb, mrb_value self) { in env_get_tls_session_id() argument
348 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_session_id()
355 return mrb_str_new_static(mrb, "", 0); in env_get_tls_session_id()
360 return mrb_str_new_static(mrb, "", 0); in env_get_tls_session_id()
369 return mrb_str_new(mrb, id.c_str(), id.size()); in env_get_tls_session_id()
374 mrb_value env_get_tls_session_reused(mrb_state *mrb, mrb_value self) { in env_get_tls_session_reused() argument
375 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_session_reused()
390 mrb_value env_get_alpn(mrb_state *mrb, mrb_value self) { in env_get_alpn() argument
391 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_alpn()
396 return mrb_str_new(mrb, alpn.c_str(), alpn.size()); in env_get_alpn()
401 mrb_value env_get_tls_handshake_finished(mrb_state *mrb, mrb_value self) { in env_get_tls_handshake_finished() argument
402 auto data = static_cast<MRubyAssocData *>(mrb->ud); in env_get_tls_handshake_finished()
412 void init_env_class(mrb_state *mrb, RClass *module) { in init_env_class() argument
414 mrb_define_class_under(mrb, module, "Env", mrb->object_class); in init_env_class()
416 mrb_define_method(mrb, env_class, "initialize", env_init, MRB_ARGS_NONE()); in init_env_class()
417 mrb_define_method(mrb, env_class, "req", env_get_req, MRB_ARGS_NONE()); in init_env_class()
418 mrb_define_method(mrb, env_class, "resp", env_get_resp, MRB_ARGS_NONE()); in init_env_class()
419 mrb_define_method(mrb, env_class, "ctx", env_get_ctx, MRB_ARGS_NONE()); in init_env_class()
420 mrb_define_method(mrb, env_class, "phase", env_get_phase, MRB_ARGS_NONE()); in init_env_class()
421 mrb_define_method(mrb, env_class, "remote_addr", env_get_remote_addr, in init_env_class()
423 mrb_define_method(mrb, env_class, "server_addr", env_get_server_addr, in init_env_class()
425 mrb_define_method(mrb, env_class, "server_port", env_get_server_port, in init_env_class()
427 mrb_define_method(mrb, env_class, "tls_used", env_get_tls_used, in init_env_class()
429 mrb_define_method(mrb, env_class, "tls_sni", env_get_tls_sni, in init_env_class()
431 mrb_define_method(mrb, env_class, "tls_client_fingerprint_sha256", in init_env_class()
433 mrb_define_method(mrb, env_class, "tls_client_fingerprint_sha1", in init_env_class()
435 mrb_define_method(mrb, env_class, "tls_client_issuer_name", in init_env_class()
437 mrb_define_method(mrb, env_class, "tls_client_subject_name", in init_env_class()
439 mrb_define_method(mrb, env_class, "tls_client_serial", in init_env_class()
441 mrb_define_method(mrb, env_class, "tls_client_not_before", in init_env_class()
443 mrb_define_method(mrb, env_class, "tls_client_not_after", in init_env_class()
445 mrb_define_method(mrb, env_class, "tls_cipher", env_get_tls_cipher, in init_env_class()
447 mrb_define_method(mrb, env_class, "tls_protocol", env_get_tls_protocol, in init_env_class()
449 mrb_define_method(mrb, env_class, "tls_session_id", env_get_tls_session_id, in init_env_class()
451 mrb_define_method(mrb, env_class, "tls_session_reused", in init_env_class()
453 mrb_define_method(mrb, env_class, "alpn", env_get_alpn, MRB_ARGS_NONE()); in init_env_class()
454 mrb_define_method(mrb, env_class, "tls_handshake_finished", in init_env_class()