fix http client
This commit is contained in:
parent
b276134de1
commit
486d870b42
@ -18,5 +18,6 @@
|
|||||||
|
|
||||||
handle_request("GET", "/api/booking", _, _Params) ->
|
handle_request("GET", "/api/booking", _, _Params) ->
|
||||||
{ok, 200, iot_util:json_data(<<"success">>)};
|
{ok, 200, iot_util:json_data(<<"success">>)};
|
||||||
handle_request("POST", "/api/booking", _, _Params) ->
|
handle_request("POST", _, _, Params) ->
|
||||||
|
lager:debug("body is: ~p", [Params]),
|
||||||
{ok, 200, iot_util:json_data(<<"success">>)}.
|
{ok, 200, iot_util:json_data(<<"success">>)}.
|
||||||
@ -13,8 +13,11 @@
|
|||||||
parse_trans,
|
parse_trans,
|
||||||
hackney,
|
hackney,
|
||||||
poolboy,
|
poolboy,
|
||||||
|
|
||||||
mnesia,
|
mnesia,
|
||||||
crypto,
|
crypto,
|
||||||
|
public_key,
|
||||||
|
ssl,
|
||||||
kernel,
|
kernel,
|
||||||
stdlib
|
stdlib
|
||||||
]},
|
]},
|
||||||
|
|||||||
@ -36,6 +36,7 @@ start_http_server() ->
|
|||||||
Dispatcher = cowboy_router:compile([
|
Dispatcher = cowboy_router:compile([
|
||||||
{'_', [
|
{'_', [
|
||||||
{"/host/[...]", http_protocol, [http_host_handler]},
|
{"/host/[...]", http_protocol, [http_host_handler]},
|
||||||
|
{"/api/[...]", http_protocol, [http_api_handler]},
|
||||||
{"/router/[...]", http_protocol, [http_router_handler]}
|
{"/router/[...]", http_protocol, [http_router_handler]}
|
||||||
]}
|
]}
|
||||||
]),
|
]),
|
||||||
|
|||||||
40
apps/iot/src/iot_http_client.erl
Normal file
40
apps/iot/src/iot_http_client.erl
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
%%%-------------------------------------------------------------------
|
||||||
|
%%% @author licheng5
|
||||||
|
%%% @copyright (C) 2023, <COMPANY>
|
||||||
|
%%% @doc
|
||||||
|
%%%
|
||||||
|
%%% @end
|
||||||
|
%%% Created : 03. 3月 2023 11:48
|
||||||
|
%%%-------------------------------------------------------------------
|
||||||
|
-module(iot_http_client).
|
||||||
|
-author("licheng5").
|
||||||
|
|
||||||
|
%% API
|
||||||
|
-export([post/2]).
|
||||||
|
|
||||||
|
post(Url, Body) when is_list(Url), is_binary(Body) ->
|
||||||
|
case hackney:request(post, Url, [], Body) of
|
||||||
|
{ok, 200, _, ClientRef} ->
|
||||||
|
case hackney:body(ClientRef) of
|
||||||
|
{ok, RespBody} ->
|
||||||
|
lager:debug("[iot_http_client] url: ~p, response is: ~p", [Url, RespBody]),
|
||||||
|
ok;
|
||||||
|
{error, Reason} ->
|
||||||
|
lager:warning("[iot_http_client] url: ~p, get error: ~p", [Url, Reason]),
|
||||||
|
{error, failed}
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ok, HttpCode, _, ClientRef} ->
|
||||||
|
case hackney:body(ClientRef) of
|
||||||
|
{ok, RespBody} ->
|
||||||
|
lager:debug("[iot_http_client] url: ~p, http_code: ~p, response is: ~p", [Url, HttpCode, RespBody]),
|
||||||
|
ok;
|
||||||
|
{error, Reason} ->
|
||||||
|
lager:warning("[iot_http_client] url: ~p, http_code: ~p, get error: ~p", [Url, HttpCode, Reason]),
|
||||||
|
{error, failed}
|
||||||
|
end;
|
||||||
|
|
||||||
|
{error, Reason} ->
|
||||||
|
lager:warning("[iot_http_client] url: ~p, get error: ~p", [Url, Reason]),
|
||||||
|
{error, failed}
|
||||||
|
end.
|
||||||
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
%% API
|
%% API
|
||||||
-export([insert_hosts/0, insert_services/1, insert_terminals/1, insert_routers/0]).
|
-export([insert_hosts/0, insert_services/1, insert_terminals/1, insert_routers/0]).
|
||||||
|
-export([start_router/1]).
|
||||||
-export([rsa_encode/1]).
|
-export([rsa_encode/1]).
|
||||||
|
|
||||||
insert_hosts() ->
|
insert_hosts() ->
|
||||||
@ -81,6 +82,16 @@ insert_routers() ->
|
|||||||
router_model:add_router(R)
|
router_model:add_router(R)
|
||||||
end, lists:seq(1, 100)).
|
end, lists:seq(1, 100)).
|
||||||
|
|
||||||
|
start_router(Id0) when is_integer(Id0) ->
|
||||||
|
R = #router{
|
||||||
|
router_id = Id0,
|
||||||
|
name = <<"计费电表"/utf8>>,
|
||||||
|
rule = <<"测试规则"/utf8>>,
|
||||||
|
endpoint = #http_endpoint{url = <<"http://127.0.0.1:8080/data">>},
|
||||||
|
status = 1
|
||||||
|
},
|
||||||
|
router_model:add_router(R),
|
||||||
|
iot_router_sup:start_new_router(R).
|
||||||
|
|
||||||
rsa_encode(Data) when is_binary(Data) ->
|
rsa_encode(Data) when is_binary(Data) ->
|
||||||
%% 读取相关配置
|
%% 读取相关配置
|
||||||
|
|||||||
@ -47,8 +47,12 @@ init([]) ->
|
|||||||
SupFlags = #{strategy => one_for_one, intensity => 1000, period => 3600},
|
SupFlags = #{strategy => one_for_one, intensity => 1000, period => 3600},
|
||||||
|
|
||||||
%% 启动目前生效的全部转发规则
|
%% 启动目前生效的全部转发规则
|
||||||
{ok, Routers} = router_model:get_all_valid_routers(),
|
Specs = case router_model:get_all_valid_routers() of
|
||||||
Specs = lists:map(fun generate_router_spec/1, Routers),
|
{ok, Routers} ->
|
||||||
|
lists:map(fun generate_router_spec/1, Routers);
|
||||||
|
error ->
|
||||||
|
[]
|
||||||
|
end,
|
||||||
|
|
||||||
{ok, {SupFlags, Specs}}.
|
{ok, {SupFlags, Specs}}.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user