1 PACKAGE IBY_NETUTILS_PVT AS
2 /* $Header: ibynutls.pls 120.4.12010000.1 2008/07/28 05:41:21 appldev ship $ */
3
4 -- network path separator character
5 G_NET_PATH_SEP CONSTANT VARCHAR2(1) := '/';
6 -- file protocol
7 G_FILE_PROTOCOL CONSTANT VARCHAR2(10) := 'file:';
8
9
10 -- profile option for the no proxy domain
11 G_PROFILE_NO_PROXY CONSTANT VARCHAR2(50) := 'IBY_NOPROXY_DOMAIN';
12 -- profile option for the HTTP proxy host
13 G_PROFILE_HTTP_PROXY CONSTANT VARCHAR2(50) := 'IBY_HTTP_PROXY';
14
15
16 -- Utility Table Type
17 /* Note: This is a utility table to be used for storing names,
18 values of name-value pairs. */
19 TYPE v240_tbl_type IS TABLE of VARCHAR2(240) INDEX BY BINARY_INTEGER;
20
21 -- Exception thrown when there is error encoding/decoding
22 -- from different character sets
23 --
24 encoding_error EXCEPTION;
25
26 -- Defines proxy settings for a HTTP request
27 --
28 PROCEDURE set_proxy(p_url IN VARCHAR2);
29
30 --
31 -- Name: decode_url_chars
32 -- Args: p_string => the encoded string ,
33 -- p_local_nls => the NLSLang for the local environment/db
34 -- p_remote_nls => the remote machine's NLSLang value
35 --
36 -- Return: The decoded string
37 --
38 FUNCTION decode_url_chars (p_string IN VARCHAR2,
39 p_local_nls IN VARCHAR2 DEFAULT NULL,
40 p_remote_nls IN VARCHAR2 DEFAULT NULL)
41 RETURN VARCHAR2;
42
43 --
44 -- Name: escape_url_chars
45 -- Args: p_string => string value to encode ,
46 -- p_local_nls => the NLSLang for the local environment/db
47 -- p_remote_nls => the remote machine's NLSLang value
48 --
49 -- Return: the URL encoded form of the string value
50 --
51 -- Exceptions: throws the encoding_error exception if some error
52 -- during encoding
53 --
54 FUNCTION escape_url_chars (p_string IN VARCHAR2,
55 p_local_nls IN VARCHAR2 DEFAULT NULL,
56 p_remote_nls IN VARCHAR2 DEFAULT NULL)
57 RETURN VARCHAR2;
58
59 --
60 -- Name: unpack_results_url
61 --
62 -- UTILITY PROCEDURE #1: UNPACK_RESULTS_URL
63 -- PARSER Procedure to take in given l_string in html file format,
64 -- parse l_string, and store the Name-Value pairs in l_names and l_values.
65 -- For example, if OapfPrice Name-Value pairs exist in l_string, it would be
66 -- stored as l_names(i) := 'OapfPrice' and l_values(i) := '17.00'.
67 --
68 -- NOTE: This procedure logic is exactly similar to the iPayment 3i version
69 -- of procedure with minor enhancements and bug fixes.
70
71 PROCEDURE unpack_results_url(p_string IN VARCHAR2,
72 x_names OUT NOCOPY v240_tbl_type,
73 x_values OUT NOCOPY v240_tbl_type,
74 x_status OUT NOCOPY NUMBER,
75 x_errcode OUT NOCOPY NUMBER,
76 x_errmessage OUT NOCOPY VARCHAR2
77 ) ;
78
79
80 --
81 -- Name: post_request
82 -- Use this to send large POST messages and responses.
83 --
84 -- UTILITY PROCEDURE #7: SEND_REQUEST
85 -- Procedure to call HTTP_UTIL.SEND_REQUEST and handle exceptions thrown by it
86 --
87 --
88 PROCEDURE post_request(p_url IN VARCHAR2,
89 p_postbody IN CLOB,
90 x_names OUT NOCOPY v240_tbl_type,
91 x_values OUT NOCOPY v240_tbl_type,
92 x_status OUT NOCOPY NUMBER,
93 x_errcode OUT NOCOPY NUMBER,
94 x_errmessage OUT NOCOPY VARCHAR2
95 );
96
97 --
98 -- Name: post_request
99 --
100 -- UTILITY PROCEDURE #7: SEND_REQUEST
101 -- Procedure to call HTTP_UTIL.SEND_REQUEST and handle exceptions thrown by it
102 --
103 --
104 PROCEDURE post_request(p_url IN VARCHAR2,
105 p_postbody IN VARCHAR2,
106 x_htmldoc OUT NOCOPY VARCHAR2
107 );
108
109 --
110 -- Name : check_mandatory
111 --
112 --
113 --
114 --
115 PROCEDURE check_mandatory (p_name IN VARCHAR2,
116 p_value IN VARCHAR2,
117 p_url IN OUT NOCOPY VARCHAR2,
118 p_local_nls IN VARCHAR2 DEFAULT NULL,
119 p_remote_nls IN VARCHAR2 DEFAULT NULL
120 );
121
122 --
123 -- Name : check_optional
124 --
125 --
126 --
127 --
128 PROCEDURE check_optional (p_name IN VARCHAR2,
129 p_value IN VARCHAR2,
130 p_url IN OUT NOCOPY VARCHAR2,
131 p_local_nls IN VARCHAR2 DEFAULT NULL,
132 p_remote_nls IN VARCHAR2 DEFAULT NULL
133 ) ;
134
135 --
136 -- Name: GET_BASEURL
137 -- Procedure to retrieve the iPayment ECAPP BASE URL
138 --
139 PROCEDURE get_baseurl(x_baseurl OUT NOCOPY VARCHAR2);
140
141 --
142 -- Name: GET_LOCAL_NLS
143 -- Function returns the local (i.e. database) characterset.
144 --
145 FUNCTION get_local_nls RETURN VARCHAR2;
146
147 --
148 -- Name: path_to_url
149 -- Function returns a given path name as 'file:' type url
150 --
151 FUNCTION path_to_url(p_path IN VARCHAR2) RETURN VARCHAR2;
152
153 END IBY_NETUTILS_PVT;