mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 02:48:50 +00:00
Merge complete SNI callback implementation
Merged the advanced SNI callback implementation with proper µSockets
infrastructure integration. This includes:
- Complete SNI callback bridge with tagged union support
- Integration with µSockets SNI infrastructure from commit 64a409e8
- Enhanced HTTPS server SNICallback routing to TLS servers
- Comprehensive test coverage including regression tests
- All Node.js compatibility features working
The implementation now provides full SNI callback support for dynamic
certificate selection in both TLS and HTTPS servers.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
// Hardcoded module "node:https"
|
||||
const http = require("node:http");
|
||||
const tls = require("node:tls");
|
||||
const { urlToHttpOptions } = require("internal/url");
|
||||
|
||||
const ArrayPrototypeShift = Array.prototype.shift;
|
||||
@@ -44,11 +45,20 @@ function Agent(options) {
|
||||
$toClass(Agent, "Agent", http.Agent);
|
||||
Agent.prototype.createConnection = http.createConnection;
|
||||
|
||||
function createServer(options, callback) {
|
||||
// If SNICallback is provided, use TLS server for proper SNI support
|
||||
if (options && typeof options.SNICallback === "function") {
|
||||
return tls.createServer(options, callback);
|
||||
}
|
||||
// Otherwise use HTTP server (which can handle TLS if cert/key provided)
|
||||
return http.createServer(options, callback);
|
||||
}
|
||||
|
||||
var https = {
|
||||
Agent,
|
||||
globalAgent: new Agent({ keepAlive: true, scheduling: "lifo", timeout: 5000 }),
|
||||
Server: http.Server,
|
||||
createServer: http.createServer,
|
||||
createServer,
|
||||
get,
|
||||
request,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user