@@ -11,7 +11,7 @@ import { disposer } from "./http"
1111import { isNodeJSErrnoException } from "./util"
1212import { handleUpgrade } from "./wsRouter"
1313
14- type ListenOptions = Pick < DefaultedArgs , "socket" | "port" | "host" >
14+ type ListenOptions = Pick < DefaultedArgs , "socket-mode" | "socket " | "port" | "host" >
1515
1616export interface App extends Disposable {
1717 /** Handles regular HTTP requests. */
@@ -22,7 +22,7 @@ export interface App extends Disposable {
2222 server : http . Server
2323}
2424
25- const listen = ( server : http . Server , { host, port, socket } : ListenOptions ) => {
25+ const listen = ( server : http . Server , { host, port, socket, "socket-mode" : mode } : ListenOptions ) => {
2626 return new Promise < void > ( async ( resolve , reject ) => {
2727 server . on ( "error" , reject )
2828
@@ -31,7 +31,16 @@ const listen = (server: http.Server, { host, port, socket }: ListenOptions) => {
3131 server . off ( "error" , reject )
3232 server . on ( "error" , ( err ) => util . logError ( logger , "http server error" , err ) )
3333
34- resolve ( )
34+ if ( socket && mode ) {
35+ fs . chmod ( socket , mode )
36+ . then ( resolve )
37+ . catch ( ( err ) => {
38+ util . logError ( logger , "socket chmod" , err )
39+ reject ( err )
40+ } )
41+ } else {
42+ resolve ( )
43+ }
3544 }
3645
3746 if ( socket ) {
0 commit comments