Quellcode durchsuchen

代码修改

erlArango_v1
AICells vor 5 Jahren
Ursprung
Commit
49825506de
4 geänderte Dateien mit 56 neuen und 207 gelöschten Zeilen
  1. +56
    -25
      include/agHttpCli.hrl
  2. +0
    -34
      include/lhttpc.hrl
  3. +0
    -140
      include/lhttpc_types.hrl
  4. +0
    -8
      src/httpCli/agHttpProtocol.erl

+ 56
- 25
include/agHttpCli.hrl Datei anzeigen

@ -25,7 +25,6 @@
-define(GET_FROM_LIST(Key, List), agMiscUtils:getListValue(Key, List, undefined)).
-define(GET_FROM_LIST(Key, List, Default), agMiscUtils:getListValue(Key, List, Default)).
-define(WARN(Tag, Format, Data), agMiscUtils:warnMsg(Tag, Format, Data)).
-define(miDoNetConnect, miDoNetConnect).
@ -57,13 +56,6 @@
body = <<>> :: binary()
}).
-record(httpParam, {
headers = [] :: [binary()],
body = undefined :: undefined | binary(),
pid = self() :: pid(),
timeout = 1000 :: non_neg_integer()
}).
-record(reconnectState, {
min :: non_neg_integer(),
max :: non_neg_integer() | infinity,
@ -89,17 +81,10 @@
userPassword :: binary()
}).
-record(binPatterns, {
rn :: binary:cp(),
rnrn :: binary:cp()
}).
-type binPatterns() :: #binPatterns {}.
-type miAgHttpCliRet() :: #miAgHttpCliRet{}.
-type request() :: #request{}.
-type requestRet() :: #requestRet{}.
-type recvState() :: #recvState{}.
-type httpParam() :: #httpParam{}.
-type cliState() :: #cliState{}.
-type reconnectState() :: #reconnectState{}.
@ -136,14 +121,60 @@
-type poolOpts() :: #poolOpts{}.
-type agencyOpts() :: [agencyOpt()].
-record(dbUrl, {
host :: host(),
path :: path(),
port :: 0..65535,
hostname :: string(),
protocol :: protocol(),
poolName :: atom() %% URL用到的poolName
}).
-type dbUrl() :: #dbUrl{}.
%% http header
%% -type header() ::
%% 'Cache-Control' |
%% 'Connection' |
%% 'Date' |
%% 'Pragma'|
%% 'Transfer-Encoding' |
%% 'Upgrade' |
%% 'Via' |
%% 'Accept' |
%% 'Accept-Charset'|
%% 'Accept-Encoding' |
%% 'Accept-Language' |
%% 'Authorization' |
%% 'From' |
%% 'Host' |
%% 'If-Modified-Since' |
%% 'If-Match' |
%% 'If-None-Match' |
%% 'If-Range'|
%% 'If-Unmodified-Since' |
%% 'Max-Forwards' |
%% 'Proxy-Authorization' |
%% 'Range'|
%% 'Referer' |
%% 'User-Agent' |
%% 'Age' |
%% 'Location' |
%% 'Proxy-Authenticate'|
%% 'Public' |
%% 'Retry-After' |
%% 'Server' |
%% 'Vary' |
%% 'Warning'|
%% 'Www-Authenticate' |
%% 'Allow' |
%% 'Content-Base' |
%% 'Content-Encoding'|
%% 'Content-Language' |
%% 'Content-Length' |
%% 'Content-Location'|
%% 'Content-Md5' |
%% 'Content-Range' |
%% 'Content-Type' |
%% 'Etag'|
%% 'Expires' |
%% 'Last-Modified' |
%% 'Accept-Ranges' |
%% 'Set-Cookie'|
%% 'Set-Cookie2' |
%% 'X-Forwarded-For' |
%% 'Cookie' |
%% 'Keep-Alive' |
%% 'Proxy-Connection' |
%% binary() |
%% string().

+ 0
- 34
include/lhttpc.hrl Datei anzeigen

@ -1,34 +0,0 @@
%%% ----------------------------------------------------------------------------
%%% Copyright (c) 2009, Erlang Training and Consulting Ltd.
%%% All rights reserved.
%%%
%%% Redistribution and use in source and binary forms, with or without
%%% modification, are permitted provided that the following conditions are met:
%%% * Redistributions of source code must retain the above copyright
%%% notice, this list of conditions and the following disclaimer.
%%% * Redistributions in binary form must reproduce the above copyright
%%% notice, this list of conditions and the following disclaimer in the
%%% documentation and/or other materials provided with the distribution.
%%% * Neither the name of Erlang Training and Consulting Ltd. nor the
%%% names of its contributors may be used to endorse or promote products
%%% derived from this software without specific prior written permission.
%%%
%%% THIS SOFTWARE IS PROVIDED BY Erlang Training and Consulting Ltd. ''AS IS''
%%% AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
%%% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
%%% ARE DISCLAIMED. IN NO EVENT SHALL Erlang Training and Consulting Ltd. BE
%%% LIABLE SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
%%% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
%%% WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
%%% ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%% ----------------------------------------------------------------------------
-record(lhttpc_url, {
host :: string(),
port :: integer(),
path :: string(),
is_ssl :: boolean(),
user = "" :: string(),
password = "" :: string()
}).

+ 0
- 140
include/lhttpc_types.hrl Datei anzeigen

@ -1,140 +0,0 @@
%%% ----------------------------------------------------------------------------
%%% Copyright (c) 2009, Erlang Training and Consulting Ltd.
%%% All rights reserved.
%%%
%%% Redistribution and use in source and binary forms, with or without
%%% modification, are permitted provided that the following conditions are met:
%%% * Redistributions of source code must retain the above copyright
%%% notice, this list of conditions and the following disclaimer.
%%% * Redistributions in binary form must reproduce the above copyright
%%% notice, this list of conditions and the following disclaimer in the
%%% documentation and/or other materials provided with the distribution.
%%% * Neither the name of Erlang Training and Consulting Ltd. nor the
%%% names of its contributors may be used to endorse or promote products
%%% derived from this software without specific prior written permission.
%%%
%%% THIS SOFTWARE IS PROVIDED BY Erlang Training and Consulting Ltd. ''AS IS''
%%% AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
%%% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
%%% ARE DISCLAIMED. IN NO EVENT SHALL Erlang Training and Consulting Ltd. BE
%%% LIABLE SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
%%% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
%%% WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
%%% ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%% ----------------------------------------------------------------------------
-type header() ::
'Cache-Control' |
'Connection' |
'Date' |
'Pragma'|
'Transfer-Encoding' |
'Upgrade' |
'Via' |
'Accept' |
'Accept-Charset'|
'Accept-Encoding' |
'Accept-Language' |
'Authorization' |
'From' |
'Host' |
'If-Modified-Since' |
'If-Match' |
'If-None-Match' |
'If-Range'|
'If-Unmodified-Since' |
'Max-Forwards' |
'Proxy-Authorization' |
'Range'|
'Referer' |
'User-Agent' |
'Age' |
'Location' |
'Proxy-Authenticate'|
'Public' |
'Retry-After' |
'Server' |
'Vary' |
'Warning'|
'Www-Authenticate' |
'Allow' |
'Content-Base' |
'Content-Encoding'|
'Content-Language' |
'Content-Length' |
'Content-Location'|
'Content-Md5' |
'Content-Range' |
'Content-Type' |
'Etag'|
'Expires' |
'Last-Modified' |
'Accept-Ranges' |
'Set-Cookie'|
'Set-Cookie2' |
'X-Forwarded-For' |
'Cookie' |
'Keep-Alive' |
'Proxy-Connection' |
binary() |
string().
-type headers() :: [{header(), iodata()}].
-type method() :: string() | atom().
-type pos_timeout() :: pos_integer() | 'infinity'.
-type bodypart() :: iodata() | 'http_eob'.
-type socket() :: _.
-type port_num() :: 1..65535.
-type poolsize() :: non_neg_integer() | atom().
-type invalid_option() :: any().
-type pool_id() :: pid() | atom().
-type destination() :: {string(), pos_integer(), boolean()}.
-type raw_headers() :: [{atom() | binary() | string(), binary() | string()}].
-type partial_download_option() ::
{'window_size', window_size()} |
{'part_size', non_neg_integer() | 'infinity'} |
invalid_option().
-type option() ::
{'connect_timeout', timeout()} |
{'send_retry', non_neg_integer()} |
{'partial_upload', non_neg_integer() | 'infinity'} |
{'partial_download', [partial_download_option()]} |
{'connect_options', socket_options()} |
{'proxy', string()} |
{'proxy_ssl_options', socket_options()} |
{'pool', pid() | atom()} |
invalid_option().
-type options() :: [option()].
-type host() :: string() | {integer(), integer(), integer(), integer()}.
-type http_status() :: {integer(), string() | binary()} | {'nil', 'nil'}.
-type socket_options() :: [{atom(), term()} | atom()].
-type window_size() :: non_neg_integer() | 'infinity'.
-type upload_state() :: {pid(), window_size()}.
-type body() :: binary() |
'undefined' | % HEAD request.
pid(). % When partial_download option is used.
-type result() ::
{ok, {{pos_integer(), string()}, headers(), body()}} |
{ok, upload_state()} |
{error, atom()}.

+ 0
- 8
src/httpCli/agHttpProtocol.erl Datei anzeigen

@ -9,16 +9,8 @@
, request/5
, response/1
, response/4
, binPatterns/0
]).
-spec binPatterns() -> binPatterns().
binPatterns() ->
#binPatterns{
rn = binary:compile_pattern(<<"\r\n">>),
rnrn = binary:compile_pattern(<<"\r\n\r\n">>)
}.
%% <<"Content-Type: application/json; charset=utf-8">>,
-spec request(method(), host(), path(), headers(), body()) -> iolist().
request(Method, Host, Path, Headers, undefined) ->

Laden…
Abbrechen
Speichern