{"record":{"id":"61fa7ac0c30b19c1","repo":"fluent/fluentd","slug":"this-method-is-deprecated-use-http-server-create","errorCode":null,"errorMessage":"this method is deprecated. Use #http_server_create_http_server instead","messagePattern":"this method is deprecated\\. Use #http_server_create_http_server instead","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"lib/fluent/plugin_helper/http_server.rb","lineNumber":43,"sourceCode":"      include Fluent::PluginHelper::Thread\n      include Fluent::Configurable\n\n      # stop     : stop http server and mark callback thread as stopped\n      # shutdown : [-]\n      # close    : correct stopped threads\n      # terminate: kill thread\n\n      def self.included(mod)\n        mod.include Fluent::PluginHelper::Server::ServerTransportParams\n      end\n\n      def initialize(*)\n        super\n        @_http_server = nil\n      end\n\n      def create_http_server(title, addr:, port:, logger:, default_app: nil, proto: nil, tls_opts: nil, &block)\n        logger.warn('this method is deprecated. Use #http_server_create_http_server instead')\n        http_server_create_http_server(title, addr: addr, port: port, logger: logger, default_app: default_app, proto: proto, tls_opts: tls_opts, &block)\n      end\n\n      # @param title [Symbol] the thread name. this value should be unique.\n      # @param addr [String] Listen address\n      # @param port [String] Listen port\n      # @param logger [Logger] logger used in this server\n      # @param default_app [Object] This method must have #call.\n      # @param proto [Symbol] :tls or :tcp\n      # @param tls_opts [Hash] options for TLS.\n      def http_server_create_http_server(title, addr:, port:, logger:, default_app: nil, proto: nil, tls_opts: nil, &block)\n        unless block_given?\n          raise ArgumentError, 'BUG: callback not specified'\n        end\n\n        if proto == :tls || (@transport_config && @transport_config.protocol == :tls)\n          http_server_create_https_server(title, addr: addr, port: port, logger: logger, default_app: default_app, tls_opts: tls_opts, &block)\n        else","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/fluent/fluentd/blob/dd45c6e18dc7be33b5e5a0f0767bf46307ff5626/lib/fluent/plugin_helper/http_server.rb#L25-L61","documentation":"The http_server plugin helper's create_http_server is a deprecated wrapper: it warns and forwards title/addr/port/logger/default_app/proto/tls_opts and the block straight to http_server_create_http_server with identical semantics. Old plugins calling the former name keep working but should migrate.","triggerScenarios":"A plugin (typically written against early Fluentd 1.x helper APIs) includes Fluent::PluginHelper::HttpServer and calls create_http_server in its start phase.","commonSituations":"In-house or gem-distributed input plugins (custom HTTP/REST inputs) predating the rename; copied skeleton code from old plugin templates.","solutions":["Rename the call: create_http_server(...) → http_server_create_http_server(...) with the same arguments and block.","Upgrade the third-party plugin gem if the call comes from a dependency rather than local code.","Check the plugin's other helper usage for sibling deprecated wrappers in the same pass."],"exampleFix":"# before\ndef start\n  super\n  create_http_server(:my_input, addr: '0.0.0.0', port: 9880, logger: log) do |conn|\n    # ...\n  end\nend\n\n# after\ndef start\n  super\n  http_server_create_http_server(:my_input, addr: '0.0.0.0', port: 9880, logger: log) do |conn|\n    # ...\n  end\nend","handlingStrategy":"validation","validationCode":"# CI guard: fail on deprecated create_http_server calls in plugin code\n# grep -rn 'create_http_server' lib/ --include='*.rb' | grep -v http_server_create_http_server && exit 1 || exit 0","typeGuard":"use_new_api = respond_to?(:http_server_create_http_server)\nsend(use_new_api ? :http_server_create_http_server : :create_http_server, :srv, addr: '0.0.0.0', port: 9880, logger: log, &block)","tryCatchPattern":null,"preventionTips":["Use http_server_create_http_server in all new plugin code; the old name is a pure alias.","When vendoring old plugin skeletons, rename helper calls as part of the import."],"tags":["deprecation","http-server","plugin-helper"],"backgroundTag":"deprecated-method-migration","analyzedSha":"dd45c6e18dc7be33b5e5a0f0767bf46307ff5626","analyzedAt":"2026-08-21T16:22:07.332Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}