|
@ -233,8 +233,10 @@ void StreamWrap::WriteBuffer(const FunctionCallbackInfo<Value>& args) { |
|
|
|
|
|
|
|
|
done: |
|
|
done: |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
if (msg != nullptr) |
|
|
if (msg != nullptr) { |
|
|
req_wrap_obj->Set(env->error_string(), OneByteString(env->isolate(), msg)); |
|
|
req_wrap_obj->Set(env->error_string(), OneByteString(env->isolate(), msg)); |
|
|
|
|
|
wrap->callbacks()->ClearError(); |
|
|
|
|
|
} |
|
|
req_wrap_obj->Set(env->bytes_string(), |
|
|
req_wrap_obj->Set(env->bytes_string(), |
|
|
Integer::NewFromUnsigned(env->isolate(), length)); |
|
|
Integer::NewFromUnsigned(env->isolate(), length)); |
|
|
args.GetReturnValue().Set(err); |
|
|
args.GetReturnValue().Set(err); |
|
@ -364,8 +366,10 @@ void StreamWrap::WriteStringImpl(const FunctionCallbackInfo<Value>& args) { |
|
|
|
|
|
|
|
|
done: |
|
|
done: |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
if (msg != nullptr) |
|
|
if (msg != nullptr) { |
|
|
req_wrap_obj->Set(env->error_string(), OneByteString(env->isolate(), msg)); |
|
|
req_wrap_obj->Set(env->error_string(), OneByteString(env->isolate(), msg)); |
|
|
|
|
|
wrap->callbacks()->ClearError(); |
|
|
|
|
|
} |
|
|
req_wrap_obj->Set(env->bytes_string(), |
|
|
req_wrap_obj->Set(env->bytes_string(), |
|
|
Integer::NewFromUnsigned(env->isolate(), data_size)); |
|
|
Integer::NewFromUnsigned(env->isolate(), data_size)); |
|
|
args.GetReturnValue().Set(err); |
|
|
args.GetReturnValue().Set(err); |
|
@ -472,8 +476,10 @@ void StreamWrap::Writev(const FunctionCallbackInfo<Value>& args) { |
|
|
req_wrap->object()->Set(env->bytes_string(), |
|
|
req_wrap->object()->Set(env->bytes_string(), |
|
|
Number::New(env->isolate(), bytes)); |
|
|
Number::New(env->isolate(), bytes)); |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
if (msg != nullptr) |
|
|
if (msg != nullptr) { |
|
|
req_wrap_obj->Set(env->error_string(), OneByteString(env->isolate(), msg)); |
|
|
req_wrap_obj->Set(env->error_string(), OneByteString(env->isolate(), msg)); |
|
|
|
|
|
wrap->callbacks()->ClearError(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (err) { |
|
|
if (err) { |
|
|
req_wrap->~WriteWrap(); |
|
|
req_wrap->~WriteWrap(); |
|
@ -536,8 +542,10 @@ void StreamWrap::AfterWrite(uv_write_t* req, int status) { |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
const char* msg = wrap->callbacks()->Error(); |
|
|
if (msg != nullptr) |
|
|
if (msg != nullptr) { |
|
|
argv[3] = OneByteString(env->isolate(), msg); |
|
|
argv[3] = OneByteString(env->isolate(), msg); |
|
|
|
|
|
wrap->callbacks()->ClearError(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv); |
|
|
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv); |
|
|
|
|
|
|
|
@ -592,11 +600,15 @@ void StreamWrap::AfterShutdown(uv_shutdown_t* req, int status) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const char* StreamWrapCallbacks::Error() { |
|
|
const char* StreamWrapCallbacks::Error() const { |
|
|
return nullptr; |
|
|
return nullptr; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void StreamWrapCallbacks::ClearError() { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// NOTE: Call to this function could change both `buf`'s and `count`'s
|
|
|
// NOTE: Call to this function could change both `buf`'s and `count`'s
|
|
|
// values, shifting their base and decrementing their length. This is
|
|
|
// values, shifting their base and decrementing their length. This is
|
|
|
// required in order to skip the data that was successfully written via
|
|
|
// required in order to skip the data that was successfully written via
|
|
|