/*------------------------------------------------------------------------
File : set_options.p
Description : Illustrates setting options on a socket for use with the
http client
Notes :
----------------------------------------------------------------------*/
BLOCK-LEVEL ON ERROR UNDO, THROW.
USING OpenEdge.Core.LogLevelEnum.
USING OpenEdge.Net.HTTP.ClientBuilder.
USING OpenEdge.Net.HTTP.IHttpClientLibrary.
USING OpenEdge.Net.HTTP.IHttpRequest.
USING OpenEdge.Net.HTTP.IHttpResponse.
USING OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder.
USING OpenEdge.Net.HTTP.RequestBuilder.
USING OpenEdge.Net.ServerConnection.ClientSocket.
/* ******************** Preprocessor Definitions ******************** */
DEFINE VARIABLE oSocket AS ClientSocket NO-UNDO.
DEFINE VARIABLE oLib AS IHttpClientLibrary NO-UNDO.
DEFINE VARIABLE oReq AS IHttpRequest NO-UNDO.
DEFINE VARIABLE oResp AS IHttpResponse NO-UNDO.
SESSION:DEBUG-ALERT = TRUE.
SESSION:ERROR-STACK-TRACE = TRUE.
/* *************************** Main Block *************************** */
ASSIGN oSocket = NEW ClientSocket()
oSocket:ReceiveTimeout = 30
oLib = ClientLibraryBuilder:Build()
:Option(GET-CLASS(ClientSocket):TypeName, oSocket)
:Library
oReq = RequestBuilder:get('http://httpbin.org/get')
:Request.
oResp = ClientBuilder:Build()
:UsingLibrary(oLib)
:Client
:Execute(oReq).
MESSAGE oResp:StatusCode SKIP
oResp:ContentLength SKIP
oResp:ContentType SKIP
oResp:Entity
VIEW-AS ALERT-BOX.
CATCH oError AS Progress.Lang.Error :
MESSAGE oError:GetMessage(1) SKIP
oError:CallStack
VIEW-AS ALERT-BOX.
END CATCH.