@ -2828,41 +2828,40 @@ static Local<Object> GetFeatures(Environment* env) {
Local < Value > debug = False ( env - > isolate ( ) ) ;
# endif // defined(DEBUG) && DEBUG
obj - > Set ( env - > debug_string ( ) , debug ) ;
obj - > Set ( env - > uv_string ( ) , True ( env - > isolate ( ) ) ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " debug " ) , debug ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " uv " ) , True ( env - > isolate ( ) ) ) ;
// TODO(bnoordhuis) ping libuv
obj - > Set ( env - > ipv6_lc_string ( ) , True ( env - > isolate ( ) ) ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " ipv6 " ) , True ( env - > isolate ( ) ) ) ;
# ifdef OPENSSL_NPN_NEGOTIATED
Local < Boolean > tls_npn = True ( env - > isolate ( ) ) ;
# else
Local < Boolean > tls_npn = False ( env - > isolate ( ) ) ;
# endif
obj - > Set ( env - > tls_npn_string ( ) , tls_npn ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " tls_npn " ) , tls_npn ) ;
# ifdef TLSEXT_TYPE_application_layer_protocol_negotiation
Local < Boolean > tls_alpn = True ( env - > isolate ( ) ) ;
# else
Local < Boolean > tls_alpn = False ( env - > isolate ( ) ) ;
# endif
obj - > Set ( env - > tls_alpn_string ( ) , tls_alpn ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " tls_alpn " ) , tls_alpn ) ;
# ifdef SSL_CTRL_SET_TLSEXT_SERVERNAME_CB
Local < Boolean > tls_sni = True ( env - > isolate ( ) ) ;
# else
Local < Boolean > tls_sni = False ( env - > isolate ( ) ) ;
# endif
obj - > Set ( env - > tls_sni_string ( ) , tls_sni ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " tls_sni " ) , tls_sni ) ;
# if !defined(OPENSSL_NO_TLSEXT) && defined(SSL_CTX_set_tlsext_status_cb)
Local < Boolean > tls_ocsp = True ( env - > isolate ( ) ) ;
# else
Local < Boolean > tls_ocsp = False ( env - > isolate ( ) ) ;
# endif // !defined(OPENSSL_NO_TLSEXT) && defined(SSL_CTX_set_tlsext_status_cb)
obj - > Set ( env - > tls_ocsp_string ( ) , tls_ocsp ) ;
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " tls_ocsp " ) , tls_ocsp ) ;
obj - > Set ( env - > tls_string ( ) ,
obj - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " tls " ) ,
Boolean : : New ( env - > isolate ( ) ,
get_builtin_module ( " crypto " ) ! = nullptr ) ) ;
@ -2964,12 +2963,12 @@ void SetupProcessObject(Environment* env,
Local < Object > process = env - > process_object ( ) ;
auto maybe = process - > SetAccessor ( env - > context ( ) ,
env - > title_string ( ) ,
ProcessTitleGetter ,
ProcessTitleS etter ,
env - > as_external ( ) ) ;
CHECK ( maybe . FromJust ( ) ) ;
auto title_string = FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " title " ) ;
CHECK ( process - > SetAccessor ( env - > context ( ) ,
title_string ,
ProcessTitleG etter,
ProcessTitleSetter ,
env - > as_external ( ) ) . FromJust ( ) ) ;
// process.version
READONLY_PROPERTY ( process ,
@ -3116,14 +3115,15 @@ void SetupProcessObject(Environment* env,
for ( int i = 0 ; i < argc ; + + i ) {
arguments - > Set ( i , String : : NewFromUtf8 ( env - > isolate ( ) , argv [ i ] ) ) ;
}
process - > Set ( env - > argv_string ( ) , arguments ) ;
process - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " argv " ) , arguments ) ;
// process.execArgv
Local < Array > exec_arguments = Array : : New ( env - > isolate ( ) , exec_argc ) ;
for ( int i = 0 ; i < exec_argc ; + + i ) {
exec_arguments - > Set ( i , String : : NewFromUtf8 ( env - > isolate ( ) , exec_argv [ i ] ) ) ;
}
process - > Set ( env - > exec_argv_string ( ) , exec_arguments ) ;
process - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " execArgv " ) ,
exec_arguments ) ;
// create process.env
Local < ObjectTemplate > process_env_template =
@ -3140,12 +3140,13 @@ void SetupProcessObject(Environment* env,
READONLY_PROPERTY ( process , " pid " , Integer : : New ( env - > isolate ( ) , getpid ( ) ) ) ;
READONLY_PROPERTY ( process , " features " , GetFeatures ( env ) ) ;
maybe = process - > SetAccessor ( env - > context ( ) ,
env - > need_imm_cb_string ( ) ,
NeedImmediateCallbackGetter ,
NeedImmediateCallbackSetter ,
env - > as_external ( ) ) ;
CHECK ( maybe . FromJust ( ) ) ;
auto need_immediate_callback_string =
FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " _needImmediateCallback " ) ;
CHECK ( process - > SetAccessor ( env - > context ( ) , need_immediate_callback_string ,
NeedImmediateCallbackGetter ,
NeedImmediateCallbackSetter ,
env - > as_external ( ) ) . FromJust ( ) ) ;
// -e, --eval
if ( eval_string ) {
@ -3245,16 +3246,16 @@ void SetupProcessObject(Environment* env,
} else {
exec_path_value = String : : NewFromUtf8 ( env - > isolate ( ) , argv [ 0 ] ) ;
}
process - > Set ( env - > exec_path_string ( ) , exec_path_value ) ;
process - > Set ( FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " execPath " ) ,
exec_path_value ) ;
delete [ ] exec_path ;
maybe = process - > SetAccessor ( env - > context ( ) ,
env - > debug_port_string ( ) ,
DebugPortGetter ,
DebugPortSetter ,
env - > as_external ( ) ) ;
CHECK ( maybe . FromJust ( ) ) ;
auto debug_port_string = FIXED_ONE_BYTE_STRING ( env - > isolate ( ) , " debugPort " ) ;
CHECK ( process - > SetAccessor ( env - > context ( ) ,
debug_port_string ,
DebugPortGetter ,
DebugPortSetter ,
env - > as_external ( ) ) . FromJust ( ) ) ;
// define various internal methods
env - > SetMethod ( process ,
@ -3313,8 +3314,8 @@ void SetupProcessObject(Environment* env,
// pre-set _events object for faster emit checks
Local < Object > events_obj = Object : : New ( env - > isolate ( ) ) ;
maybe = events_obj - > SetPrototype ( env - > context ( ) , Null ( env - > isolate ( ) ) ) ;
CHECK ( maybe . FromJust ( ) ) ;
CHECK ( events_obj - > SetPrototype ( env - > context ( ) ,
Null ( env - > isolate ( ) ) ) . FromJust ( ) ) ;
process - > Set ( env - > events_string ( ) , events_obj ) ;
}