Class: FunctionsFramework::Server::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/functions_framework/server.rb

Overview

The web server configuration. This object is yielded from the FunctionsFramework::Server constructor and can be modified at that point. Afterward, it is available from #config but it is frozen.

Instance Method Summary collapse

Constructor Details

#initializeConfig

Create a new config object with the default settings



191
192
193
194
195
196
197
198
199
# File 'lib/functions_framework/server.rb', line 191

def initialize
  self.rack_env = nil
  self.bind_addr = nil
  self.port = nil
  self.min_threads = nil
  self.max_threads = nil
  self.show_error_details = nil
  self.logger = nil
end

Instance Method Details

#bind_addrString

Returns the current bind address.

Returns:

  • (String)


275
276
277
# File 'lib/functions_framework/server.rb', line 275

def bind_addr
  @bind_addr
end

#bind_addr=(bind_addr) ⇒ Object

Set the bind address, or nil to use the default.

Parameters:

  • bind_addr (String, nil)


214
215
216
# File 'lib/functions_framework/server.rb', line 214

def bind_addr= bind_addr
  @bind_addr = bind_addr || ::ENV["FUNCTION_BIND_ADDR"] || "0.0.0.0"
end

#loggerLogger

Returns the logger.

Returns:

  • (Logger)


315
316
317
# File 'lib/functions_framework/server.rb', line 315

def logger
  @logger
end

#logger=(logger) ⇒ Object

Set the logger for server messages, or nil to use the global default.

Parameters:

  • logger (Logger)


259
260
261
# File 'lib/functions_framework/server.rb', line 259

def logger= logger
  @logger = logger || ::FunctionsFramework.logger
end

#max_threadsInteger

Returns the maximum number of worker threads in the thread pool.

Returns:

  • (Integer)


299
300
301
# File 'lib/functions_framework/server.rb', line 299

def max_threads
  @max_threads || (@rack_env == "development" ? 1 : 16)
end

#max_threads=(max_threads) ⇒ Object

Set the maximum number of worker threads, or nil to use the default.

Parameters:

  • max_threads (Integer, nil)


238
239
240
# File 'lib/functions_framework/server.rb', line 238

def max_threads= max_threads
  @max_threads = (max_threads || ::ENV["FUNCTION_MAX_THREADS"])&.to_i
end

#min_threadsInteger

Returns the minimum number of worker threads in the thread pool.

Returns:

  • (Integer)


291
292
293
# File 'lib/functions_framework/server.rb', line 291

def min_threads
  @min_threads || 1
end

#min_threads=(min_threads) ⇒ Object

Set the minimum number of worker threads, or nil to use the default.

Parameters:

  • min_threads (Integer, nil)


230
231
232
# File 'lib/functions_framework/server.rb', line 230

def min_threads= min_threads
  @min_threads = (min_threads || ::ENV["FUNCTION_MIN_THREADS"])&.to_i
end

#portInteger

Returns the current port number.

Returns:

  • (Integer)


283
284
285
# File 'lib/functions_framework/server.rb', line 283

def port
  @port
end

#port=(port) ⇒ Object

Set the port number, or nil to use the default.

Parameters:

  • port (Integer, nil)


222
223
224
# File 'lib/functions_framework/server.rb', line 222

def port= port
  @port = (port || ::ENV["PORT"] || 8080).to_i
end

#rack_envString

Returns the current Rack environment.

Returns:

  • (String)


267
268
269
# File 'lib/functions_framework/server.rb', line 267

def rack_env
  @rack_env
end

#rack_env=(rack_env) ⇒ Object

Set the Rack environment, or nil to use the default.

Parameters:

  • rack_env (String, nil)


205
206
207
208
# File 'lib/functions_framework/server.rb', line 205

def rack_env= rack_env
  @rack_env = rack_env || ::ENV["RACK_ENV"] ||
              (::ENV["K_REVISION"] ? "production" : "development")
end

#show_error_details=(show_error_details) ⇒ Object

Set whether to show detailed error messages, or nil to use the default.

Parameters:

  • show_error_details (Boolean, nil)


246
247
248
249
250
251
252
253
# File 'lib/functions_framework/server.rb', line 246

def show_error_details= show_error_details
  @show_error_details =
    if show_error_details.nil?
      !::ENV["FUNCTION_DETAILED_ERRORS"].to_s.empty?
    else
      show_error_details ? true : false
    end
end

#show_error_details?Boolean

Returns whether to show detailed error messages.

Returns:

  • (Boolean)


307
308
309
# File 'lib/functions_framework/server.rb', line 307

def show_error_details?
  @show_error_details.nil? ? (@rack_env == "development") : @show_error_details
end