@@ -11,7 +11,7 @@ import { disposer } from "./http"
11
11
import { isNodeJSErrnoException } from "./util"
12
12
import { handleUpgrade } from "./wsRouter"
13
13
14
- type ListenOptions = Pick < DefaultedArgs , "socket" | "port" | "host" >
14
+ type ListenOptions = Pick < DefaultedArgs , "socket-mode" | "socket " | "port" | "host" >
15
15
16
16
export interface App extends Disposable {
17
17
/** Handles regular HTTP requests. */
@@ -22,7 +22,7 @@ export interface App extends Disposable {
22
22
server : http . Server
23
23
}
24
24
25
- const listen = ( server : http . Server , { host, port, socket } : ListenOptions ) => {
25
+ const listen = ( server : http . Server , { host, port, socket, "socket-mode" : mode } : ListenOptions ) => {
26
26
return new Promise < void > ( async ( resolve , reject ) => {
27
27
server . on ( "error" , reject )
28
28
@@ -31,7 +31,16 @@ const listen = (server: http.Server, { host, port, socket }: ListenOptions) => {
31
31
server . off ( "error" , reject )
32
32
server . on ( "error" , ( err ) => util . logError ( logger , "http server error" , err ) )
33
33
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
+ }
35
44
}
36
45
37
46
if ( socket ) {
0 commit comments