11/************************************************
2- Copyright (c) 2015, 2017, 2021 by Progress Software Corporation. All rights reserved.
2+ Copyright (c) 2015, 2017, 2021, 2025 by Progress Software Corporation. All rights reserved.
33************************************************ */
44/*------------------------------------------------------------------------
55 File : DefaultRequestBuilder
6- Purpose :
7- Syntax :
8- Description :
6+ Purpose :
7+ Syntax :
8+ Description :
99 Author(s) : pjudge, dugrau
1010 Created : Thu Jan 15 12:16:45 EST 2015
11- Notes :
11+ Notes :
1212 ---------------------------------------------------------------------- */
1313block-level on error undo , throw .
1414
@@ -35,94 +35,96 @@ class OpenEdge.Net.HTTP.DefaultRequestBuilder inherits RequestBuilder:
3535 get ():
3636 return NewRequest ().
3737 end get .
38-
38+
3939 constructor public DefaultRequestBuilder (input pcMethod as character ,
4040 input poURI as URI ):
4141 super (pcMethod , poURI ).
4242 end constructor .
43-
43+
4444 method private IHttpRequest NewRequest ():
45- define variable oRequest as IHttpRequest no-undo .
45+ define variable oRequest as IHttpRequest no-undo .
4646 define variable oRequestType as Progress.Lang.Class no-undo .
47- define variable oListener as Object no-undo .
48-
47+ define variable oListener as Object no-undo .
48+
4949 assign oRequestType = RequestBuilder :Registry :Get (get-class (IHttpRequest ):TypeName ).
50-
50+
5151 /* We know the signature to the default library's constructor - make sure that the type we
5252 get is of that type */
5353 Assert :IsType (oRequestType , get-class (IHttpRequest )).
54-
54+
5555 oRequest = dynamic-new string (oRequestType :TypeName )().
56-
56+
5757 if type-of (oRequest , ISupportInitialize ) then
5858 cast (oRequest , ISupportInitialize ):Initialize ().
59-
60- assign oRequest :Method = GetOptionStringValue (' method' :u )
61- oRequest :URI = cast (GetOptionObjectValue (' uri' :u ), URI ).
62-
59+
60+ assign
61+ oRequest :Method = GetOptionStringValue (' method' :u )
62+ oRequest :URI = cast (GetOptionObjectValue (' uri' :u ), URI )
63+ .
64+
6365 /* version */
6466 if HasOption (' version' :u ) then
6567 assign oRequest :Version = GetOptionStringValue (' version' :u ).
6668
6769 /* Accept content types.
68-
70+
6971 A content type provided via one of the :Accept*()
7072 methods takes precendence.
71-
73+
7274 If that doesn't exist, then take the valeu of any Accept
7375 header.
74-
76+
7577 If that doesn't exist, provide a default all */
7678 if HasOption (' AcceptContentType' :u ) then
7779 AddHeader (' Accept' :u , trim (GetOptionStringValue (' AcceptContentType' :u ), ' ,' :u )).
7880 else
79- if not HasOption (' header+Accept' :u ) then
80- AddHeader (' Accept' :u , ' */*' :u ).
81-
81+ if not HasOption (' header+Accept' :u ) then
82+ AddHeader (' Accept' :u , ' */*' :u ).
83+
8284 /* headers */
8385 for each ConfigOption where
84- ConfigOption.ParentBuilder eq integer (this-object ) and
85- ConfigOption.ConfigName begins ' header+' :u :
86+ ConfigOption.ParentBuilder eq int64 (this-object ) and
87+ ConfigOption.ConfigName begins ' header+' :u :
8688 oRequest :SetHeader (cast (ConfigOption.ObjectValue , HttpHeader )).
8789 end .
88-
90+
8991 /* cookies */
9092 for each ConfigOption where
91- ConfigOption.ParentBuilder eq integer (this-object ) and
92- ConfigOption.ConfigName begins ' cookie+' :u :
93+ ConfigOption.ParentBuilder eq int64 (this-object ) and
94+ ConfigOption.ConfigName begins ' cookie+' :u :
9395 oRequest :SetCookie (cast (ConfigOption.ObjectValue , Cookie )).
9496 end .
95-
97+
9698 /* data/entity */
9799 assign oRequest :Entity = GetOptionObjectValue (' entity' :u ).
98-
100+
99101 /* proxy */
100102 if HasOption (' supportsProxy' :u ) then
101103 do :
102104 assign oRequest = RequestBuilder :DecorateRequest (get-class (ISupportProxy ), oRequest ).
103105 if HasOption (' ProxyURI' :u ) then
104106 cast (oRequest , ISupportProxy ):ProxyURI = cast (GetOptionObjectValue (' ProxyURI' :u ), URI ).
105107 end .
106-
108+
107109 /* authenticated request */
108110 if HasOption (' supportsAuthentication' :u ) then
109111 do :
110112 assign oRequest = RequestBuilder :DecorateRequest (get-class (IAuthenticatedRequest ), oRequest ).
111-
113+
112114 if HasOption (' credentials' :u ) then
113115 assign cast (oRequest , IAuthenticatedRequest ):Credentials = cast (GetOptionObjectValue (' credentials' :u ), Credentials ).
114-
116+
115117 if HasOption (' authenticationMethod' :u ) then
116118 cast (oRequest , IAuthenticatedRequest ):SetChallenge (
117- GetOptionStringValue (' authenticationMethod' :u ),
118- GetOptionStringValue (' challenge' :u ) ).
119-
119+ GetOptionStringValue (' authenticationMethod' :u ),
120+ GetOptionStringValue (' challenge' :u ) ).
121+
120122 if HasOption (' listener' :u ) then
121- assign oListener = GetOptionObjectValue (' listener' :u ).
122- if valid-object (oListener ) and
123- type-of (oListener , IAuthFilterEventHandler ) then
124- cast (oRequest , IAuthenticatedRequest ):AddAuthenticationCallback (
125- cast (oListener , IAuthFilterEventHandler )).
123+ assign oListener = GetOptionObjectValue (' listener' :u ).
124+ if valid-object (oListener ) and
125+ type-of (oListener , IAuthFilterEventHandler ) then
126+ cast (oRequest , IAuthenticatedRequest ):AddAuthenticationCallback (
127+ cast (oListener , IAuthFilterEventHandler )).
126128 end .
127129
128130 /* client credentials */
@@ -132,18 +134,18 @@ class OpenEdge.Net.HTTP.DefaultRequestBuilder inherits RequestBuilder:
132134 assign cast (oRequest , ISecureConnectionAuthenticatedRequest ):Credentials = cast (GetOptionObjectValue (' clientCredentials' :u ), ICredentials ).
133135 end .
134136 else if can-find (first ConfigOption no-lock
135- where ConfigOption.ParentBuilder eq integer (this-object )
136- and ConfigOption.ConfigName begins ' clientCredentialsCallback' :u ) then do :
137- /* client credentials callback(s) */
138- assign oRequest = RequestBuilder :DecorateRequest (get-class (ISecureConnectionAuthenticatedRequest ), oRequest ).
137+ where ConfigOption.ParentBuilder eq int64 (this-object )
138+ and ConfigOption.ConfigName begins ' clientCredentialsCallback' :u ) then do :
139+ /* client credentials callback(s) */
140+ assign oRequest = RequestBuilder :DecorateRequest (get-class (ISecureConnectionAuthenticatedRequest ), oRequest ).
139141
140- /* Add each callback to the request. */
141- for each ConfigOption where
142- ConfigOption.ParentBuilder eq integer (this-object ) and
143- ConfigOption.ConfigName begins ' clientCredentialsCallback' :u :
144- cast (oRequest , ISecureConnectionAuthenticatedRequest ):AddCallback (cast (ConfigOption.ObjectValue , ISocketConnectionCredentialsHandler )).
142+ /* Add each callback to the request. */
143+ for each ConfigOption where
144+ ConfigOption.ParentBuilder eq int64 (this-object ) and
145+ ConfigOption.ConfigName begins ' clientCredentialsCallback' :u :
146+ cast (oRequest , ISecureConnectionAuthenticatedRequest ):AddCallback (cast (ConfigOption.ObjectValue , ISocketConnectionCredentialsHandler )).
147+ end .
145148 end .
146- end .
147149
148150 /* allow tracing */
149151 if HasOption (' allowTracing' :u ) then do :
@@ -157,5 +159,5 @@ class OpenEdge.Net.HTTP.DefaultRequestBuilder inherits RequestBuilder:
157159
158160 return oRequest .
159161 end method .
160-
162+
161163end class .
0 commit comments