@@ -2961,29 +2961,39 @@ void Initialize(Local<Object> target,
2961
2961
session->GetFunction ()).FromJust ();
2962
2962
2963
2963
Local<Object> constants = Object::New (isolate);
2964
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_SESSION_SERVER);
2965
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_SESSION_CLIENT);
2966
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_IDLE);
2967
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_OPEN);
2968
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_RESERVED_LOCAL);
2969
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_RESERVED_REMOTE);
2970
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL);
2971
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE);
2972
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_STATE_CLOSED);
2973
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_NO_ERROR);
2974
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_PROTOCOL_ERROR);
2975
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_INTERNAL_ERROR);
2976
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_FLOW_CONTROL_ERROR);
2977
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_SETTINGS_TIMEOUT);
2978
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_STREAM_CLOSED);
2979
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_FRAME_SIZE_ERROR);
2980
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_REFUSED_STREAM);
2981
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_CANCEL);
2982
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_COMPRESSION_ERROR);
2983
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_CONNECT_ERROR);
2984
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_ENHANCE_YOUR_CALM);
2985
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_INADEQUATE_SECURITY);
2986
- NODE_DEFINE_CONSTANT (constants, NGHTTP2_HTTP_1_1_REQUIRED);
2964
+ Local<Array> name_for_error_code = Array::New (isolate);
2965
+
2966
+ #define NODE_NGHTTP2_ERROR_CODES (V ) \
2967
+ V (NGHTTP2_SESSION_SERVER); \
2968
+ V (NGHTTP2_SESSION_CLIENT); \
2969
+ V (NGHTTP2_STREAM_STATE_IDLE); \
2970
+ V (NGHTTP2_STREAM_STATE_OPEN); \
2971
+ V (NGHTTP2_STREAM_STATE_RESERVED_LOCAL); \
2972
+ V (NGHTTP2_STREAM_STATE_RESERVED_REMOTE); \
2973
+ V (NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL); \
2974
+ V (NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE); \
2975
+ V (NGHTTP2_STREAM_STATE_CLOSED); \
2976
+ V (NGHTTP2_NO_ERROR); \
2977
+ V (NGHTTP2_PROTOCOL_ERROR); \
2978
+ V (NGHTTP2_INTERNAL_ERROR); \
2979
+ V (NGHTTP2_FLOW_CONTROL_ERROR); \
2980
+ V (NGHTTP2_SETTINGS_TIMEOUT); \
2981
+ V (NGHTTP2_STREAM_CLOSED); \
2982
+ V (NGHTTP2_FRAME_SIZE_ERROR); \
2983
+ V (NGHTTP2_REFUSED_STREAM); \
2984
+ V (NGHTTP2_CANCEL); \
2985
+ V (NGHTTP2_COMPRESSION_ERROR); \
2986
+ V (NGHTTP2_CONNECT_ERROR); \
2987
+ V (NGHTTP2_ENHANCE_YOUR_CALM); \
2988
+ V (NGHTTP2_INADEQUATE_SECURITY); \
2989
+ V (NGHTTP2_HTTP_1_1_REQUIRED); \
2990
+
2991
+ #define V (name ) \
2992
+ NODE_DEFINE_CONSTANT (constants, name); \
2993
+ name_for_error_code->Set (static_cast <int >(name), \
2994
+ FIXED_ONE_BYTE_STRING (isolate, #name));
2995
+ NODE_NGHTTP2_ERROR_CODES (V)
2996
+ #undef V
2987
2997
2988
2998
NODE_DEFINE_HIDDEN_CONSTANT (constants, NGHTTP2_HCAT_REQUEST);
2989
2999
NODE_DEFINE_HIDDEN_CONSTANT (constants, NGHTTP2_HCAT_RESPONSE);
@@ -3048,6 +3058,9 @@ HTTP_STATUS_CODES(V)
3048
3058
target->Set (context,
3049
3059
FIXED_ONE_BYTE_STRING (isolate, " constants" ),
3050
3060
constants).FromJust ();
3061
+ target->Set (context,
3062
+ FIXED_ONE_BYTE_STRING (isolate, " nameForErrorCode" ),
3063
+ name_for_error_code).FromJust ();
3051
3064
}
3052
3065
} // namespace http2
3053
3066
} // namespace node
0 commit comments