react-native-nitro-net 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/libs/arm64-v8a/librust_c_net.so +0 -0
- package/android/libs/armeabi-v7a/librust_c_net.so +0 -0
- package/android/libs/x86/librust_c_net.so +0 -0
- package/android/libs/x86_64/librust_c_net.so +0 -0
- package/cpp/HybridHttpParser.hpp +44 -16
- package/cpp/NetBindings.hpp +192 -96
- package/cpp/NetManager.hpp +16 -10
- package/ios/Frameworks/RustCNet.xcframework/Info.plist +5 -5
- package/ios/Frameworks/RustCNet.xcframework/ios-arm64/RustCNet.framework/RustCNet +0 -0
- package/ios/Frameworks/RustCNet.xcframework/ios-arm64_x86_64-simulator/RustCNet.framework/RustCNet +0 -0
- package/lib/Net.nitro.d.ts +6 -2
- package/lib/Net.nitro.d.ts.map +1 -1
- package/lib/http.d.ts.map +1 -1
- package/lib/http.js +34 -17
- package/lib/net.d.ts.map +1 -1
- package/lib/net.js +19 -10
- package/nitrogen/generated/android/RustCNet+autolinking.cmake +1 -1
- package/nitrogen/generated/android/RustCNet+autolinking.gradle +1 -1
- package/nitrogen/generated/android/RustCNetOnLoad.cpp +27 -22
- package/nitrogen/generated/android/RustCNetOnLoad.hpp +14 -5
- package/nitrogen/generated/android/c++/JFunc_void_double_std__shared_ptr_ArrayBuffer_.hpp +1 -1
- package/nitrogen/generated/android/c++/JHttpParsedMessage.hpp +64 -0
- package/nitrogen/generated/android/c++/JHybridHttpParserSpec.cpp +28 -23
- package/nitrogen/generated/android/c++/JHybridHttpParserSpec.hpp +21 -23
- package/nitrogen/generated/android/c++/JHybridNetDriverSpec.cpp +35 -34
- package/nitrogen/generated/android/c++/JHybridNetDriverSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridNetServerDriverSpec.cpp +31 -30
- package/nitrogen/generated/android/c++/JHybridNetServerDriverSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridNetSocketDriverSpec.cpp +53 -52
- package/nitrogen/generated/android/c++/JHybridNetSocketDriverSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JNetConfig.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/Func_void_double_std__shared_ptr_ArrayBuffer_.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HttpParsedMessage.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridHttpParserSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridNetDriverSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridNetServerDriverSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/HybridNetSocketDriverSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/NetConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/net/RustCNetOnLoad.kt +1 -1
- package/nitrogen/generated/ios/RustCNet+autolinking.rb +1 -1
- package/nitrogen/generated/ios/RustCNet-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/RustCNet-Swift-Cxx-Bridge.hpp +17 -5
- package/nitrogen/generated/ios/RustCNet-Swift-Cxx-Umbrella.hpp +4 -1
- package/nitrogen/generated/ios/RustCNetAutolinking.mm +1 -1
- package/nitrogen/generated/ios/RustCNetAutolinking.swift +5 -1
- package/nitrogen/generated/ios/c++/HybridHttpParserSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridHttpParserSpecSwift.hpp +12 -2
- package/nitrogen/generated/ios/c++/HybridNetDriverSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNetDriverSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridNetServerDriverSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNetServerDriverSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridNetSocketDriverSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNetSocketDriverSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/swift/Func_void_double_std__shared_ptr_ArrayBuffer_.swift +1 -2
- package/nitrogen/generated/ios/swift/HttpParsedMessage.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridHttpParserSpec.swift +4 -5
- package/nitrogen/generated/ios/swift/HybridHttpParserSpec_cxx.swift +13 -6
- package/nitrogen/generated/ios/swift/HybridNetDriverSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNetDriverSpec_cxx.swift +9 -2
- package/nitrogen/generated/ios/swift/HybridNetServerDriverSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNetServerDriverSpec_cxx.swift +49 -7
- package/nitrogen/generated/ios/swift/HybridNetSocketDriverSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNetSocketDriverSpec_cxx.swift +25 -4
- package/nitrogen/generated/ios/swift/NetConfig.swift +9 -3
- package/nitrogen/generated/shared/c++/HttpParsedMessage.hpp +89 -0
- package/nitrogen/generated/shared/c++/HybridHttpParserSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHttpParserSpec.hpp +5 -4
- package/nitrogen/generated/shared/c++/HybridNetDriverSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetDriverSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetServerDriverSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetServerDriverSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetSocketDriverSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNetSocketDriverSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroBufferSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroBufferSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/NetConfig.hpp +1 -1
- package/package.json +5 -6
- package/src/Net.nitro.ts +6 -2
- package/src/http.ts +37 -19
- package/src/net.ts +19 -10
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/cpp/HybridHttpParser.hpp
CHANGED
|
@@ -19,42 +19,70 @@ public:
|
|
|
19
19
|
|
|
20
20
|
~HybridHttpParser() { net_http_parser_destroy(_id); }
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
HttpParsedMessage feed(const std::shared_ptr<ArrayBuffer> &data) override {
|
|
23
23
|
if (!data)
|
|
24
|
-
return "";
|
|
24
|
+
return HttpParsedMessage("", std::nullopt);
|
|
25
25
|
|
|
26
|
-
char
|
|
27
|
-
int res =
|
|
28
|
-
|
|
26
|
+
char jsonBuf[8192];
|
|
27
|
+
int res = net_http_parser_feed(_id, data->data(), data->size(), jsonBuf,
|
|
28
|
+
sizeof(jsonBuf));
|
|
29
29
|
|
|
30
30
|
if (res > 0) {
|
|
31
|
-
//
|
|
32
|
-
|
|
31
|
+
// JSON Metadata successfully retrieved
|
|
32
|
+
std::string metadata(jsonBuf, res);
|
|
33
|
+
|
|
34
|
+
// Check if there is a body to fetch
|
|
35
|
+
size_t bodyLen = net_http_parser_get_body(_id, nullptr, 0);
|
|
36
|
+
std::optional<std::shared_ptr<ArrayBuffer>> body = std::nullopt;
|
|
37
|
+
|
|
38
|
+
if (bodyLen > 0) {
|
|
39
|
+
// Allocate and copy body
|
|
40
|
+
auto ab = ArrayBuffer::allocate(bodyLen);
|
|
41
|
+
net_http_parser_get_body(_id, ab->data(), bodyLen);
|
|
42
|
+
body = ab;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return HttpParsedMessage(metadata, body);
|
|
33
46
|
} else if (res == 0) {
|
|
34
47
|
// Partial message
|
|
35
|
-
return "";
|
|
48
|
+
return HttpParsedMessage("", std::nullopt);
|
|
36
49
|
} else if (res < -3) {
|
|
37
50
|
// Buffer too small, required size is -res
|
|
38
51
|
size_t requiredSize = static_cast<size_t>(-res);
|
|
39
|
-
std::
|
|
40
|
-
res = net_http_parser_feed(_id, nullptr, 0,
|
|
52
|
+
std::vector<char> largerBuf(requiredSize + 1);
|
|
53
|
+
res = net_http_parser_feed(_id, nullptr, 0, largerBuf.data(),
|
|
41
54
|
requiredSize + 1);
|
|
42
55
|
if (res > 0) {
|
|
43
|
-
|
|
56
|
+
std::string metadata(largerBuf.data(), res);
|
|
57
|
+
size_t bodyLen = net_http_parser_get_body(_id, nullptr, 0);
|
|
58
|
+
std::optional<std::shared_ptr<ArrayBuffer>> body = std::nullopt;
|
|
59
|
+
if (bodyLen > 0) {
|
|
60
|
+
auto ab = ArrayBuffer::allocate(bodyLen);
|
|
61
|
+
net_http_parser_get_body(_id, ab->data(), bodyLen);
|
|
62
|
+
body = ab;
|
|
63
|
+
}
|
|
64
|
+
return HttpParsedMessage(metadata, body);
|
|
44
65
|
}
|
|
45
|
-
return "ERROR: Re-parse failed after enlarging buffer"
|
|
66
|
+
return HttpParsedMessage("ERROR: Re-parse failed after enlarging buffer",
|
|
67
|
+
std::nullopt);
|
|
46
68
|
} else {
|
|
47
69
|
// Error
|
|
70
|
+
std::string error;
|
|
48
71
|
switch (res) {
|
|
49
72
|
case -1:
|
|
50
|
-
|
|
73
|
+
error = "ERROR: JSON serialization failed";
|
|
74
|
+
break;
|
|
51
75
|
case -2:
|
|
52
|
-
|
|
76
|
+
error = "ERROR: HTTP parse failed";
|
|
77
|
+
break;
|
|
53
78
|
case -3:
|
|
54
|
-
|
|
79
|
+
error = "ERROR: Parser not found";
|
|
80
|
+
break;
|
|
55
81
|
default:
|
|
56
|
-
|
|
82
|
+
error = "ERROR: Unknown error";
|
|
83
|
+
break;
|
|
57
84
|
}
|
|
85
|
+
return HttpParsedMessage(error, std::nullopt);
|
|
58
86
|
}
|
|
59
87
|
}
|
|
60
88
|
|
package/cpp/NetBindings.hpp
CHANGED
|
@@ -1,134 +1,230 @@
|
|
|
1
|
+
#ifndef NET_BINDINGS_H
|
|
2
|
+
#define NET_BINDINGS_H
|
|
3
|
+
|
|
1
4
|
#pragma once
|
|
2
5
|
|
|
3
|
-
#include <
|
|
4
|
-
#include <
|
|
6
|
+
#include <cstdarg>
|
|
7
|
+
#include <cstdint>
|
|
8
|
+
#include <cstdlib>
|
|
9
|
+
#include <ostream>
|
|
10
|
+
#include <new>
|
|
11
|
+
|
|
12
|
+
constexpr static const int NET_EVENT_CONNECT = 1;
|
|
13
|
+
|
|
14
|
+
constexpr static const int NET_EVENT_DATA = 2;
|
|
15
|
+
|
|
16
|
+
constexpr static const int NET_EVENT_ERROR = 3;
|
|
17
|
+
|
|
18
|
+
constexpr static const int NET_EVENT_CLOSE = 4;
|
|
19
|
+
|
|
20
|
+
constexpr static const int NET_EVENT_WRITTEN = 5;
|
|
21
|
+
|
|
22
|
+
constexpr static const int NET_EVENT_CONNECTION = 6;
|
|
23
|
+
|
|
24
|
+
constexpr static const int NET_EVENT_TIMEOUT = 7;
|
|
25
|
+
|
|
26
|
+
constexpr static const int NET_EVENT_LOOKUP = 8;
|
|
27
|
+
|
|
28
|
+
constexpr static const int NET_EVENT_SESSION = 9;
|
|
29
|
+
|
|
30
|
+
constexpr static const int NET_EVENT_KEYLOG = 10;
|
|
31
|
+
|
|
32
|
+
constexpr static const int NET_EVENT_OCSP = 11;
|
|
33
|
+
|
|
34
|
+
/// C callback function pointer type for event notifications
|
|
35
|
+
using CallbackPtr = void(*)(uint32_t id,
|
|
36
|
+
int event_type,
|
|
37
|
+
const uint8_t *data,
|
|
38
|
+
uintptr_t len,
|
|
39
|
+
void *context);
|
|
5
40
|
|
|
6
41
|
extern "C" {
|
|
7
42
|
|
|
8
|
-
|
|
9
|
-
typedef void (*NetCallback)(uint32_t id, int event_type, const uint8_t *data,
|
|
10
|
-
size_t len, void *context);
|
|
43
|
+
void net_init(CallbackPtr callback, void *context);
|
|
11
44
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
///
|
|
15
|
-
///
|
|
16
|
-
///
|
|
17
|
-
///
|
|
18
|
-
|
|
19
|
-
|
|
45
|
+
/// Initialize the net library with configuration
|
|
46
|
+
///
|
|
47
|
+
/// # Safety
|
|
48
|
+
/// - `callback` must be a valid function pointer
|
|
49
|
+
/// - `context` must remain valid during the callback
|
|
50
|
+
/// - `worker_threads`: number of worker threads, 0 means use CPU core count
|
|
51
|
+
///
|
|
52
|
+
/// Note: This function must be called before any other net_* functions,
|
|
53
|
+
/// otherwise the configuration will not take effect.
|
|
54
|
+
void net_init_with_config(CallbackPtr callback, void *context, uint32_t worker_threads);
|
|
20
55
|
|
|
21
|
-
// Socket
|
|
22
56
|
uint32_t net_create_socket();
|
|
57
|
+
|
|
23
58
|
void net_connect(uint32_t id, const char *host, int port);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
59
|
+
|
|
60
|
+
void net_connect_tls(uint32_t id,
|
|
61
|
+
const char *host,
|
|
62
|
+
int port,
|
|
63
|
+
const char *server_name,
|
|
64
|
+
int reject_unauthorized);
|
|
65
|
+
|
|
66
|
+
void net_connect_tls_with_context(uint32_t id,
|
|
67
|
+
const char *host,
|
|
68
|
+
int port,
|
|
27
69
|
const char *server_name,
|
|
28
70
|
int reject_unauthorized,
|
|
29
71
|
uint32_t secure_context_id);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
72
|
+
|
|
73
|
+
uintptr_t net_get_authorization_error(uint32_t id, char *buf, uintptr_t len);
|
|
74
|
+
|
|
75
|
+
uint32_t net_secure_context_create();
|
|
76
|
+
|
|
77
|
+
void net_secure_context_add_ca(uint32_t sc_id, const char *ca_pem);
|
|
78
|
+
|
|
79
|
+
void net_secure_context_set_cert_key(uint32_t sc_id,
|
|
80
|
+
const char *cert_pem,
|
|
81
|
+
const char *key_pem,
|
|
82
|
+
const char *passphrase);
|
|
83
|
+
|
|
84
|
+
void net_secure_context_set_ocsp_response(uint32_t sc_id, const uint8_t *data, uintptr_t len);
|
|
85
|
+
|
|
86
|
+
void net_secure_context_set_pfx(uint32_t _sc_id,
|
|
87
|
+
const uint8_t *pfx_data,
|
|
88
|
+
uintptr_t len,
|
|
89
|
+
const char *passphrase);
|
|
90
|
+
|
|
35
91
|
void net_socket_enable_keylog(uint32_t id);
|
|
36
|
-
|
|
92
|
+
|
|
93
|
+
uintptr_t net_server_get_ticket_keys(uint32_t _sc_id, uint8_t *_buf, uintptr_t _len);
|
|
94
|
+
|
|
95
|
+
void net_server_set_ticket_keys(uint32_t sc_id, const uint8_t *keys, uintptr_t len);
|
|
96
|
+
|
|
97
|
+
uint32_t net_create_secure_context(const char *cert_pem,
|
|
98
|
+
const char *key_pem,
|
|
99
|
+
const char *passphrase);
|
|
100
|
+
|
|
101
|
+
void net_secure_context_add_context(uint32_t sc_id,
|
|
102
|
+
const char *hostname,
|
|
103
|
+
const char *cert_pem,
|
|
104
|
+
const char *key_pem,
|
|
105
|
+
const char *passphrase);
|
|
106
|
+
|
|
107
|
+
void net_write(uint32_t id, const uint8_t *data, uintptr_t len);
|
|
108
|
+
|
|
37
109
|
void net_close(uint32_t id);
|
|
110
|
+
|
|
38
111
|
void net_destroy_socket(uint32_t id);
|
|
112
|
+
|
|
39
113
|
void net_socket_reset_and_destroy(uint32_t id);
|
|
40
114
|
|
|
41
|
-
|
|
42
|
-
size_t net_get_ephemeral_key_info(uint32_t id, char *buf, size_t len);
|
|
43
|
-
size_t net_get_shared_sigalgs(uint32_t id, char *buf, size_t len);
|
|
115
|
+
uint32_t net_create_server();
|
|
44
116
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
117
|
+
void net_listen(uint32_t id, int port, int backlog, bool ipv6_only, bool reuse_port);
|
|
118
|
+
|
|
119
|
+
void net_listen_tls(uint32_t id,
|
|
120
|
+
int port,
|
|
121
|
+
int backlog,
|
|
122
|
+
bool ipv6_only,
|
|
123
|
+
bool reuse_port,
|
|
124
|
+
uint32_t secure_context_id);
|
|
125
|
+
|
|
126
|
+
void net_listen_handle(uint32_t id, int fd, int backlog);
|
|
127
|
+
|
|
128
|
+
void net_server_set_max_connections(uint32_t id, int max_connections);
|
|
129
|
+
|
|
130
|
+
void net_server_close(uint32_t id);
|
|
131
|
+
|
|
132
|
+
void net_destroy_server(uint32_t id);
|
|
51
133
|
|
|
52
|
-
// New Options
|
|
53
134
|
void net_set_nodelay(uint32_t id, bool enable);
|
|
135
|
+
|
|
54
136
|
void net_set_keepalive(uint32_t id, bool enable, uint64_t delay_ms);
|
|
55
|
-
void net_set_timeout(uint32_t id, uint64_t timeout_ms);
|
|
56
137
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
138
|
+
uintptr_t net_get_local_address(uint32_t id, char *buf, uintptr_t len);
|
|
139
|
+
|
|
140
|
+
uintptr_t net_get_remote_address(uint32_t id, char *buf, uintptr_t len);
|
|
141
|
+
|
|
142
|
+
uintptr_t net_get_server_local_address(uint32_t id, char *buf, uintptr_t len);
|
|
143
|
+
|
|
144
|
+
uintptr_t net_get_protocol(uint32_t id, char *buf, uintptr_t len);
|
|
145
|
+
|
|
146
|
+
uintptr_t net_get_cipher(uint32_t id, char *buf, uintptr_t len);
|
|
147
|
+
|
|
148
|
+
uintptr_t net_get_alpn(uint32_t id, char *buf, uintptr_t len);
|
|
149
|
+
|
|
150
|
+
uintptr_t net_get_peer_certificate_json(uint32_t id, char *buf, uintptr_t len);
|
|
151
|
+
|
|
152
|
+
uintptr_t net_get_ciphers(char *buf, uintptr_t len);
|
|
61
153
|
|
|
62
|
-
// Flow Control
|
|
63
154
|
void net_pause(uint32_t id);
|
|
155
|
+
|
|
64
156
|
void net_resume(uint32_t id);
|
|
157
|
+
|
|
158
|
+
void net_set_timeout(uint32_t id, uint64_t timeout_ms);
|
|
159
|
+
|
|
65
160
|
void net_shutdown(uint32_t id);
|
|
66
161
|
|
|
67
|
-
// IPC / Unix Domain Sockets
|
|
68
162
|
void net_connect_unix(uint32_t id, const char *path);
|
|
69
|
-
|
|
70
|
-
void
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
void
|
|
76
|
-
|
|
77
|
-
void net_connect_unix_tls_with_context(uint32_t id, const char *path,
|
|
163
|
+
|
|
164
|
+
void net_connect_unix_tls(uint32_t id,
|
|
165
|
+
const char *path,
|
|
166
|
+
const char *server_name,
|
|
167
|
+
int reject_unauthorized);
|
|
168
|
+
|
|
169
|
+
void net_connect_unix_tls_with_context(uint32_t id,
|
|
170
|
+
const char *path,
|
|
78
171
|
const char *server_name,
|
|
79
172
|
int reject_unauthorized,
|
|
80
173
|
uint32_t secure_context_id);
|
|
81
|
-
#endif
|
|
82
174
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
void
|
|
86
|
-
bool reuse_port);
|
|
87
|
-
void net_listen_tls(uint32_t id, int port, int backlog, bool ipv6_only,
|
|
88
|
-
bool reuse_port, uint32_t secure_context_id);
|
|
89
|
-
void net_server_close(uint32_t id);
|
|
90
|
-
void net_destroy_server(uint32_t id);
|
|
91
|
-
void net_server_set_max_connections(uint32_t id, int max_connections);
|
|
92
|
-
size_t net_get_server_local_address(uint32_t id, char *buf, size_t len);
|
|
93
|
-
uint32_t net_create_secure_context(const char *cert_pem, const char *key_pem,
|
|
94
|
-
const char *passphrase);
|
|
95
|
-
uint32_t net_secure_context_create();
|
|
96
|
-
void net_secure_context_add_ca(uint32_t sc_id, const char *ca_pem);
|
|
97
|
-
void net_secure_context_set_cert_key(uint32_t sc_id, const char *cert_pem,
|
|
98
|
-
const char *key_pem,
|
|
99
|
-
const char *passphrase);
|
|
100
|
-
void net_secure_context_add_context(uint32_t sc_id, const char *hostname,
|
|
101
|
-
const char *cert_pem, const char *key_pem,
|
|
102
|
-
const char *passphrase);
|
|
103
|
-
void net_secure_context_set_pfx(uint32_t sc_id, const uint8_t *data, size_t len,
|
|
104
|
-
const char *passphrase);
|
|
105
|
-
void net_secure_context_set_ocsp_response(uint32_t sc_id, const uint8_t *data,
|
|
106
|
-
size_t len);
|
|
107
|
-
/// Listen on an existing file descriptor (handle)
|
|
108
|
-
/// @param id Server ID
|
|
109
|
-
/// @param fd File descriptor of an already-bound TCP listener
|
|
110
|
-
/// @param backlog Listen backlog
|
|
111
|
-
void net_listen_handle(uint32_t id, int fd, int backlog);
|
|
175
|
+
void net_listen_unix(uint32_t id, const char *path, int backlog);
|
|
176
|
+
|
|
177
|
+
void net_listen_tls_unix(uint32_t id, const char *path, int backlog, uint32_t secure_context_id);
|
|
112
178
|
|
|
113
|
-
// Session
|
|
114
179
|
bool net_is_session_reused(uint32_t id);
|
|
115
|
-
size_t net_get_session(uint32_t id, uint8_t *buf, size_t len);
|
|
116
|
-
void net_set_session(uint32_t id, const uint8_t *ticket, size_t ticket_len);
|
|
117
|
-
size_t net_server_get_ticket_keys(uint32_t id, uint8_t *buf, size_t len);
|
|
118
|
-
void net_server_set_ticket_keys(uint32_t id, const uint8_t *keys, size_t len);
|
|
119
180
|
|
|
120
|
-
|
|
181
|
+
uintptr_t net_get_session(uint32_t id, uint8_t *buf, uintptr_t len);
|
|
182
|
+
|
|
183
|
+
void net_set_session(uint32_t id, const uint8_t *ticket, uintptr_t len);
|
|
184
|
+
|
|
185
|
+
uintptr_t net_get_ephemeral_key_info(uint32_t id, char *buf, uintptr_t len);
|
|
186
|
+
|
|
187
|
+
uintptr_t net_get_shared_sigalgs(uint32_t id, char *buf, uintptr_t len);
|
|
188
|
+
|
|
121
189
|
uint32_t net_http_parser_create(int mode);
|
|
122
|
-
|
|
123
|
-
|
|
190
|
+
|
|
191
|
+
int net_http_parser_feed(uint32_t id,
|
|
192
|
+
const uint8_t *data,
|
|
193
|
+
uintptr_t len,
|
|
194
|
+
char *buf,
|
|
195
|
+
uintptr_t buf_len);
|
|
196
|
+
|
|
197
|
+
uintptr_t net_http_parser_get_body(uint32_t id, uint8_t *buf, uintptr_t len);
|
|
198
|
+
|
|
124
199
|
void net_http_parser_destroy(uint32_t id);
|
|
125
200
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
#
|
|
133
|
-
|
|
134
|
-
|
|
201
|
+
/// Enable trace output for a TLS socket.
|
|
202
|
+
/// When enabled, detailed TLS debug information will be logged.
|
|
203
|
+
void net_socket_enable_trace(uint32_t id);
|
|
204
|
+
|
|
205
|
+
/// Export keying material from a TLS connection (RFC 5705).
|
|
206
|
+
///
|
|
207
|
+
/// # Arguments
|
|
208
|
+
/// * `id` - Socket ID
|
|
209
|
+
/// * `length` - Number of bytes to export
|
|
210
|
+
/// * `label` - Label string (null-terminated)
|
|
211
|
+
/// * `context` - Optional context data (can be null)
|
|
212
|
+
/// * `context_len` - Length of context data
|
|
213
|
+
/// * `buf` - Output buffer
|
|
214
|
+
/// * `buf_len` - Size of output buffer
|
|
215
|
+
///
|
|
216
|
+
/// # Returns
|
|
217
|
+
/// * Positive value: number of bytes written
|
|
218
|
+
/// * 0: socket not found or not a TLS socket
|
|
219
|
+
/// * -1: Export not available (connection still pending or not TLS)
|
|
220
|
+
int net_socket_export_keying_material(uint32_t id,
|
|
221
|
+
uintptr_t length,
|
|
222
|
+
const char *label,
|
|
223
|
+
const uint8_t *context,
|
|
224
|
+
uintptr_t context_len,
|
|
225
|
+
uint8_t *buf,
|
|
226
|
+
uintptr_t buf_len);
|
|
227
|
+
|
|
228
|
+
} // extern "C"
|
|
229
|
+
|
|
230
|
+
#endif // NET_BINDINGS_H
|
package/cpp/NetManager.hpp
CHANGED
|
@@ -102,32 +102,38 @@ private:
|
|
|
102
102
|
// Log all events for debugging
|
|
103
103
|
const char *eventName = "UNKNOWN";
|
|
104
104
|
switch (eventType) {
|
|
105
|
-
case
|
|
105
|
+
case NET_EVENT_CONNECT:
|
|
106
106
|
eventName = "CONNECT";
|
|
107
107
|
break;
|
|
108
|
-
case
|
|
108
|
+
case NET_EVENT_DATA:
|
|
109
109
|
eventName = "DATA";
|
|
110
110
|
break;
|
|
111
|
-
case
|
|
111
|
+
case NET_EVENT_ERROR:
|
|
112
112
|
eventName = "ERROR";
|
|
113
113
|
break;
|
|
114
|
-
case
|
|
114
|
+
case NET_EVENT_CLOSE:
|
|
115
115
|
eventName = "CLOSE";
|
|
116
116
|
break;
|
|
117
|
-
case
|
|
117
|
+
case NET_EVENT_WRITTEN:
|
|
118
118
|
eventName = "DRAIN";
|
|
119
119
|
break;
|
|
120
|
-
case
|
|
120
|
+
case NET_EVENT_CONNECTION:
|
|
121
121
|
eventName = "CONNECTION";
|
|
122
122
|
break;
|
|
123
|
-
case
|
|
123
|
+
case NET_EVENT_TIMEOUT:
|
|
124
124
|
eventName = "TIMEOUT";
|
|
125
125
|
break;
|
|
126
|
-
case
|
|
126
|
+
case NET_EVENT_LOOKUP:
|
|
127
127
|
eventName = "LOOKUP";
|
|
128
128
|
break;
|
|
129
|
-
case
|
|
130
|
-
eventName = "
|
|
129
|
+
case NET_EVENT_SESSION:
|
|
130
|
+
eventName = "SESSION";
|
|
131
|
+
break;
|
|
132
|
+
case NET_EVENT_KEYLOG:
|
|
133
|
+
eventName = "KEYLOG";
|
|
134
|
+
break;
|
|
135
|
+
case NET_EVENT_OCSP:
|
|
136
|
+
eventName = "OCSP";
|
|
131
137
|
break;
|
|
132
138
|
}
|
|
133
139
|
|
|
@@ -8,32 +8,32 @@
|
|
|
8
8
|
<key>BinaryPath</key>
|
|
9
9
|
<string>RustCNet.framework/RustCNet</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>ios-
|
|
11
|
+
<string>ios-arm64</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
13
|
<string>RustCNet.framework</string>
|
|
14
14
|
<key>SupportedArchitectures</key>
|
|
15
15
|
<array>
|
|
16
16
|
<string>arm64</string>
|
|
17
|
-
<string>x86_64</string>
|
|
18
17
|
</array>
|
|
19
18
|
<key>SupportedPlatform</key>
|
|
20
19
|
<string>ios</string>
|
|
21
|
-
<key>SupportedPlatformVariant</key>
|
|
22
|
-
<string>simulator</string>
|
|
23
20
|
</dict>
|
|
24
21
|
<dict>
|
|
25
22
|
<key>BinaryPath</key>
|
|
26
23
|
<string>RustCNet.framework/RustCNet</string>
|
|
27
24
|
<key>LibraryIdentifier</key>
|
|
28
|
-
<string>ios-
|
|
25
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
29
26
|
<key>LibraryPath</key>
|
|
30
27
|
<string>RustCNet.framework</string>
|
|
31
28
|
<key>SupportedArchitectures</key>
|
|
32
29
|
<array>
|
|
33
30
|
<string>arm64</string>
|
|
31
|
+
<string>x86_64</string>
|
|
34
32
|
</array>
|
|
35
33
|
<key>SupportedPlatform</key>
|
|
36
34
|
<string>ios</string>
|
|
35
|
+
<key>SupportedPlatformVariant</key>
|
|
36
|
+
<string>simulator</string>
|
|
37
37
|
</dict>
|
|
38
38
|
</array>
|
|
39
39
|
<key>CFBundlePackageType</key>
|
|
Binary file
|
package/ios/Frameworks/RustCNet.xcframework/ios-arm64_x86_64-simulator/RustCNet.framework/RustCNet
CHANGED
|
Binary file
|
package/lib/Net.nitro.d.ts
CHANGED
|
@@ -81,6 +81,10 @@ export interface NetServerDriver extends HybridObject<{
|
|
|
81
81
|
maxConnections: number;
|
|
82
82
|
close(): void;
|
|
83
83
|
}
|
|
84
|
+
export interface HttpParsedMessage {
|
|
85
|
+
metadata: string;
|
|
86
|
+
body?: ArrayBuffer;
|
|
87
|
+
}
|
|
84
88
|
export interface HttpParser extends HybridObject<{
|
|
85
89
|
ios: 'swift';
|
|
86
90
|
android: 'kotlin';
|
|
@@ -88,9 +92,9 @@ export interface HttpParser extends HybridObject<{
|
|
|
88
92
|
/**
|
|
89
93
|
* Feed data to the parser
|
|
90
94
|
* @param data Raw byte data from the network
|
|
91
|
-
* @returns
|
|
95
|
+
* @returns HttpParsedMessage containing the JSON metadata and optional binary body
|
|
92
96
|
*/
|
|
93
|
-
feed(data: ArrayBuffer):
|
|
97
|
+
feed(data: ArrayBuffer): HttpParsedMessage;
|
|
94
98
|
}
|
|
95
99
|
/**
|
|
96
100
|
* Runtime configuration for the network module
|
package/lib/Net.nitro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Net.nitro.d.ts","sourceRoot":"","sources":["../src/Net.nitro.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Net.nitro.d.ts","sourceRoot":"","sources":["../src/Net.nitro.ts"],"names":[],"mappings":"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"}
|
package/lib/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAI5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAU9B,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0D/C,CAAC;AAEF,eAAO,MAAM,OAAO,UAMnB,CAAC;AAIF,qBAAa,eAAgB,SAAQ,QAAQ;IAClC,WAAW,EAAE,MAAM,CAAS;IAC5B,gBAAgB,EAAE,MAAM,CAAK;IAC7B,gBAAgB,EAAE,MAAM,CAAK;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAM;IAChD,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAS;IACzB,QAAQ,EAAE,OAAO,CAAS;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEjC,MAAM,EAAE,MAAM;IAM1B,KAAK;IAIE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAKtD,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAM5B,UAAU,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAIzC,YAAY,CAAC,MAAM,GAAE,OAAe,EAAE,YAAY,GAAE,MAAU,GAAG,IAAI;CAG/E;AAID,qBAAa,eAAgB,SAAQ,QAAQ;IAClC,WAAW,EAAE,OAAO,CAAS;IACpC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAC7C,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC7C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B,eAAe,EAAE,OAAO,CAAS;IACxC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IACnC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IACrC,OAAO,EAAE,OAAO,CAAS;IAChC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAQ;;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|