24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-12 21:52:07 +02:00

Use another XML-RPC library

This commit is contained in:
Evgeniy Khramtsov 2013-05-09 20:57:27 +10:00
parent af198dbe92
commit 1cd1dd9f23
3 changed files with 1 additions and 122 deletions

View File

@ -58,7 +58,7 @@ Deps = [{logger, ".*", {git, "git://github.com/processone/p1_logger"}},
{tls, ".*", {git, "git://github.com/processone/tls"}},
{stringprep, ".*", {git, "git://github.com/processone/stringprep"}},
{xml, ".*", {git, "git://github.com/processone/xml"}},
{xmlrpc, ".*", {git, "git://github.com/etnt/xmlrpc"}}],
{xmlrpc, ".*", {git, "git://github.com/rds13/xmlrpc"}}],
ConfigureCmd = fun(Pkg, Flags) ->
{'get-deps',

View File

@ -1,56 +0,0 @@
%% Copyright (C) 2009 Romuald du Song <rdusong _AT_ gmail _DOT_ com>.
%% All rights reserved.
%%
%% Redistribution and use in source and binary forms, with or without
%% modification, are permitted provided that the following conditions
%% are met:
%%
%% 1. Redistributions of source code must retain the above copyright
%% notice, this list of conditions and the following disclaimer.
%% 2. 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.
%%
%% THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 THE AUTHOR BE LIABLE FOR ANY
%% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
%% DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 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.
-module(beam_util).
-export([module_export_list/1, filter_arity/3]).
%% Module = string()
%% Function = atom()
module_export_list( Module ) ->
{_Module, _Binary, Filename} = code:get_object_code(Module),
case beam_lib:info( Filename ) of
{error, beam_lib, _} ->
false;
[ _ , _ , _ ] ->
case beam_lib:chunks( Filename, [exports]) of
{ok, {_, [{exports, Exports}]}} ->
Exports;
{error, beam_lib, Er} ->
false
end
end.
%% Module = string()
%% Arity = integer()
%% Exports = list()
filter_arity( Function, Arity, Exports) ->
case lists:filter(
fun( EFName ) -> {Function, Arity} == EFName end,
Exports ) of
[{_, _}] -> true;
[] -> false
end.

View File

@ -1,65 +0,0 @@
%% Author: Romuald du Song
%% Created: 9 oct. 2009
%% Description:
%% Hacked from Joe Armtrong http://www.erlang.org/examples/small_examples/urlget.erl
-module(url_util).
%%
%% Include files
%%
%%
%% Exported Functions
%%
-export([parse/1]).
%%
%% API Functions
%%
%%----------------------------------------------------------------------
%% parse(URL) -> {http, Site, Port, File} |
%% {file, File} | {error,Why}
%% (primitive)
parse([$h,$t,$t,$p,$:,$/,$/|T]) -> parse_http(T, http);
parse([$h,$t,$t,$p,$s,$:,$/,$/|T]) -> parse_http(T, https);
parse([$f,$t,$p,$:,$/,$/|_T]) -> {error, no_ftp};
parse([$f,$i,$l,$e,$:,$/,$/|F]) -> {file, F};
parse(_X) -> {error, unknown_url_type}.
%%
%% Local Functions
%%
parse_http(X, Protocol) ->
case string:chr(X, $/) of
0 ->
%% not terminated by "/" (sigh)
%% try again
parse_http(X ++ "/", Protocol);
N ->
%% The Host is up to the first "/"
%% The file is everything else
Host = string:substr(X, 1, N-1),
File = string:substr(X, N, length(X)),
%% Now check to see if the host name contains a colon
%% i.e. there is an explicit port address in the hostname
case string:chr(Host, $:) of
0 ->
%% no colon
Port = 80,
{Protocol, Host, Port, File};
M ->
Site = string:substr(Host,1,M-1),
case (catch list_to_integer(
string:substr(Host, M+1, length(Host)))) of
{'EXIT', _} ->
{Protocol, Site, 80, File};
Port ->
{Protocol, Site, Port, File}
end
end
end.