blob: 0ef0760270d8a144925860713278cc51a444a717 [file] [log] [blame]
%%------------------------------------------------------------------------------
%% Licensed to the Apache Software Foundation (ASF) under one or more
%% contributor license agreements. See the NOTICE file distributed with
%% this work for additional information regarding copyright ownership.
%% The ASF licenses this file to You under the Apache License, Version 2.0
%% (the "License"); you may not use this file except in compliance with
%% the License. You may obtain a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%%------------------------------------------------------------------------------
-module(dubbo_config_util).
-include("dubbo.hrl").
%% API
-export([gen_consumer/3, gen_provider/6]).
gen_consumer(Application, Interface, Option) ->
#consumer_config{
interface = Interface,
application = Application,
category = <<"consumers">>,
check = false,
default_timeout = proplists:get_value(default_timeout, Option, 500),
dubbo_version = proplists:get_value(dubbo_version, Option, ?DUBBO_VERSION),
methods = [],
revision = <<"">>,
side = <<"consumers">>
}.
gen_provider(Application, Port, Interface, MethodList, ImplModuleName, _Option) ->
Host = dubbo_network_tools:local_ipv4_binary(),
MethodList2 = [atom_to_binary(Item, utf8) || Item <- MethodList],
#provider_config{
protocol = <<"dubbo">>,
host = Host,
port = Port,
interface = Interface,
anyhost = true,
executes = 10,
application = Application,
methods = MethodList2,
side = <<"provider">>,
impl_handle = ImplModuleName
}.