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



200
201
202
203
204
205
206
207
208
# File 'lib/functions_framework/server.rb', line 200

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)


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

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)


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

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

#loggerLogger

Returns the logger.

Returns:

  • (Logger)


324
325
326
# File 'lib/functions_framework/server.rb', line 324

def logger
  @logger
end

#logger=(logger) ⇒ Object

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

Parameters:

  • logger (Logger)


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

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

#max_threadsInteger

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

Returns:

  • (Integer)


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

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)


247
248
249
# File 'lib/functions_framework/server.rb', line 247

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)


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

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)


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

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

#portInteger

Returns the current port number.

Returns:

  • (Integer)


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

def port
  @port
end

#port=(port) ⇒ Object

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

Parameters:

  • port (Integer, nil)


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

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

#rack_envString

Returns the current Rack environment.

Returns:

  • (String)


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

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)


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

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)


255
256
257
258
259
260
261
262
# File 'lib/functions_framework/server.rb', line 255

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)


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

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