@ -57,6 +57,7 @@ type S3Options struct {
dataCenter * string
localSocket * string
certProvider certprovider . Provider
idleTimeout * int
}
func init ( ) {
@ -81,6 +82,7 @@ func init() {
s3StandaloneOptions . allowDeleteBucketNotEmpty = cmdS3 . Flag . Bool ( "allowDeleteBucketNotEmpty" , true , "allow recursive deleting all entries along with bucket" )
s3StandaloneOptions . localFilerSocket = cmdS3 . Flag . String ( "localFilerSocket" , "" , "local filer socket path" )
s3StandaloneOptions . localSocket = cmdS3 . Flag . String ( "localSocket" , "" , "default to /tmp/seaweedfs-s3-<port>.sock" )
s3StandaloneOptions . idleTimeout = cmdS3 . Flag . Int ( "idleTimeout" , 10 , "connection idle seconds" )
}
var cmdS3 = & Command {
@ -275,7 +277,8 @@ func (s3opt *S3Options) startS3Server() bool {
}
listenAddress := fmt . Sprintf ( "%s:%d" , * s3opt . bindIp , * s3opt . port )
s3ApiListener , s3ApiLocalListener , err := util . NewIpAndLocalListeners ( * s3opt . bindIp , * s3opt . port , time . Duration ( 10 ) * time . Second )
s3ApiListener , s3ApiLocalListener , err := util . NewIpAndLocalListeners (
* s3opt . bindIp , * s3opt . port , time . Duration ( * s3opt . idleTimeout ) * time . Second )
if err != nil {
glog . Fatalf ( "S3 API Server listener on %s error: %v" , listenAddress , err )
}
@ -350,7 +353,7 @@ func (s3opt *S3Options) startS3Server() bool {
} else {
glog . V ( 0 ) . Infof ( "Start Seaweed S3 API Server %s at https port %d" , util . Version ( ) , * s3opt . portHttps )
s3ApiListenerHttps , s3ApiLocalListenerHttps , _ := util . NewIpAndLocalListeners (
* s3opt . bindIp , * s3opt . portHttps , time . Duration ( 10 ) * time . Second )
* s3opt . bindIp , * s3opt . portHttps , time . Duration ( * s3opt . idleTimeout ) * time . Second )
if s3ApiLocalListenerHttps != nil {
go func ( ) {
if err = httpS . ServeTLS ( s3ApiLocalListenerHttps , "" , "" ) ; err != nil {