# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marian.edu@acorn.ro-20200605102314-ij95u9ai0mxs7s1f # target_branch: https://proj.goldencode.com/downloads/skeletons/repo/ # testament_sha1: a463d6f75d65547b320151465fb7fc93c60a9712 # timestamp: 2020-06-05 13:23:27 +0300 # base_revision_id: marian.edu@acorn.ro-20200520113422-\ # ldvy961j7oxzdryy # # Begin patch === added file 'oo4gl/OpenEdge/Core/SerializationFormatEnum.cls' --- oo4gl/OpenEdge/Core/SerializationFormatEnum.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Core/SerializationFormatEnum.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,10 @@ +enum OpenEdge.Core.SerializationFormatEnum: + define enum JSON = 0 + QuotedJSON + + XML + QuotedXML + + Binary + . +end enum. \ No newline at end of file === added file 'oo4gl/OpenEdge/Core/ServerConnection/IConnectionParameters.cls' --- oo4gl/OpenEdge/Core/ServerConnection/IConnectionParameters.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Core/ServerConnection/IConnectionParameters.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,11 @@ +interface OpenEdge.Core.ServerConnection.IConnectionParameters: + + define public property FormatMask as OpenEdge.Core.ServerConnection.FormatMaskEnum no-undo get. + + method public character GetConnectionString(). + + method public character GetConnectionString(input pcFormatMask as character). + + method public character GetConnectionString(input poFormatMask as OpenEdge.Core.ServerConnection.FormatMaskEnum). + +end interface. \ No newline at end of file === added file 'oo4gl/OpenEdge/Core/ServerConnection/IServerConnection.cls' --- oo4gl/OpenEdge/Core/ServerConnection/IServerConnection.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Core/ServerConnection/IServerConnection.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,17 @@ +interface OpenEdge.Core.ServerConnection.IServerConnection: + + define public property Server as Progress.Lang.Object no-undo get. + + define public property ConnectionParameters as OpenEdge.Core.ServerConnection.IConnectionParameters no-undo get. + + define public property Connected as logical no-undo get. + + method public void CreateServer(). + + method public void DestroyServer(). + + method public void Connect(). + + method public void Disconnect(). + +end interface. \ No newline at end of file === added directory 'oo4gl/OpenEdge/Logging/Format' === added file 'oo4gl/OpenEdge/Logging/Format/ISupportFormatting.cls' --- oo4gl/OpenEdge/Logging/Format/ISupportFormatting.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Logging/Format/ISupportFormatting.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,3 @@ +interface OpenEdge.Logging.Format.ISupportFormatting: + define public property Format as character no-undo get. set. +end. === added file 'oo4gl/OpenEdge/Logging/Logger.cls' --- oo4gl/OpenEdge/Logging/Logger.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Logging/Logger.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,129 @@ +class OpenEdge.Logging.Logger final +implements OpenEdge.Logging.ILogWriter, OpenEdge.Logging.Format.ISupportFormatting: + + define public property Format as character no-undo get. set. + + define public property LogLevel as OpenEdge.Logging.LogLevelEnum no-undo get. private set. + + define public property Name as character no-undo get. private set. + + define protected property ShortName as character no-undo get. private set. + + method public void Debug(input p1 as character): + end. + + method public void Debug(input p1 as character, input p2 as character): + end. + + method public void Debug(input p1 as character, input p2 as character, input p3 as Progress.Lang.Error): + end. + + method public void Debug(input p1 as character, input p2 as Progress.Lang.Error): + end. + + method public void Debug(input p1 as OpenEdge.Logging.LogMessage): + end. + + method public void Debug(input p1 as OpenEdge.Logging.LogMessage, input p2 as Progress.Lang.Error): + end. + + method override public logical Equals( input p1 as Progress.Lang.Object ): + end. + + method public void Error(input p1 as character): + end. + + method public void Error(input p1 as character, input p2 as character): + end. + + method public void Error(input p1 as character, input p2 as character, input p3 as Progress.Lang.Error): + end. + + method public void Error(input p1 as character, input p2 as Progress.Lang.Error): + end. + + method public void Error(input p1 as OpenEdge.Logging.LogMessage): + end. + + method public void Error(input p1 as OpenEdge.Logging.LogMessage, input p2 as Progress.Lang.Error): + end. + + method public void Fatal(input p1 as character): + end. + + method public void Fatal(input p1 as character, input p2 as character): + end. + + method public void Fatal(input p1 as character, input p2 as character, input p3 as Progress.Lang.Error): + end. + + method public void Fatal(input p1 as character, input p2 as Progress.Lang.Error): + end. + + method public void Fatal(input p1 as OpenEdge.Logging.LogMessage): + end. + + method public void Fatal(input p1 as OpenEdge.Logging.LogMessage, input p2 as Progress.Lang.Error): + end. + + method public void Info(input p1 as character): + end. + + method public void Info(input p1 as character, input p2 as character): + end. + + method public void Info(input p1 as character, input p2 as character, input p3 as Progress.Lang.Error): + end. + + method public void Info(input p1 as character, input p2 as Progress.Lang.Error): + end. + + method public void Info(input p1 as OpenEdge.Logging.LogMessage): + end. + + method public void Info(input p1 as OpenEdge.Logging.LogMessage, input p2 as Progress.Lang.Error): + end. + + constructor public Logger(input p1 as character, input p2 as OpenEdge.Logging.LogLevelEnum, input p3 as OpenEdge.Logging.Filter.LoggerFilterList): + end. + + method public void Trace(input p1 as character): + end. + + method public void Trace(input p1 as character, input p2 as character): + end. + + method public void Trace(input p1 as character, input p2 as character, input p3 as Progress.Lang.Error): + end. + + method public void Trace(input p1 as character, input p2 as Progress.Lang.Error): + end. + + method public void Trace(input p1 as OpenEdge.Logging.LogMessage): + end. + + method public void Trace(input p1 as OpenEdge.Logging.LogMessage, input p2 as Progress.Lang.Error): + end. + + method public void Warn(input p1 as character): + end. + + method public void Warn(input p1 as character, input p2 as character): + end. + + method public void Warn(input p1 as character, input p2 as character, input p3 as Progress.Lang.Error): + end. + + method public void Warn(input p1 as character, input p2 as Progress.Lang.Error): + end. + + method public void Warn(input p1 as OpenEdge.Logging.LogMessage): + end. + + method public void Warn(input p1 as OpenEdge.Logging.LogMessage, input p2 as Progress.Lang.Error): + end. + + method private void WriteMessage(input p1 as OpenEdge.Logging.LogLevelEnum, input p2 as OpenEdge.Logging.LogMessage, input p3 as Progress.Lang.Error): + end. + +end. === added file 'oo4gl/OpenEdge/Net/FileTypeRegistry.cls' --- oo4gl/OpenEdge/Net/FileTypeRegistry.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/FileTypeRegistry.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,37 @@ +class OpenEdge.Net.FileTypeRegistry: + + define public property Size as integer no-undo get. + + constructor private FileTypeRegistry(): + end constructor. + + destructor FileTypeRegistry(): + end destructor. + + define static public property Registry as OpenEdge.Net.FileTypeRegistry no-undo get. + + method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.FileTypeRegistry): + end method. + + method public logical Put(input pcExtensionKey as character, input pcMimeType as character): + end method. + + method public logical Remove(input pcExtensionKey as character): + end method. + + method public logical Has(input pcExtensionKey as character): + end method. + + method public character Get(input pcExtensionKey as character): + end method. + + method public void Clear(): + end method. + + method public character extent GetKeys(input pMimeType as character): + end method. + + method public character extent GetKeys(): + end method. + +end class. === added file 'oo4gl/OpenEdge/Net/HTTP/AuthenticatedRequest.cls' --- oo4gl/OpenEdge/Net/HTTP/AuthenticatedRequest.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/AuthenticatedRequest.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,30 @@ +class OpenEdge.Net.HTTP.AuthenticatedRequest +inherits OpenEdge.Net.HTTP.HttpRequestDecorator +implements OpenEdge.Net.HTTP.IAuthenticatedRequest: + + define public property AuthenticationMethod as character no-undo get. + + define public property Credentials as OpenEdge.Net.HTTP.Credentials no-undo get. set. + + define public property AuthenticationChallenge as character no-undo get. + + constructor public AuthenticatedRequest(input poHttpRequest as OpenEdge.Net.HTTP.IHttpRequest): + end constructor. + + method public void AddAuthentication(): + end method. + + method public void SetChallenge(input pcAuthMethod as character, + input pcChallenge as character): + end method. + + method public void AddAuthenticationCallback(input poListener as OpenEdge.Net.HTTP.Filter.Auth.IAuthFilterEventHandler): + end method. + + method public void RemoveAuthenticationCallback(input poListener as OpenEdge.Net.HTTP.Filter.Auth.IAuthFilterEventHandler): + end method. + + method public integer GetAuthenticationCallbacks(output poListener as OpenEdge.Net.HTTP.Filter.Auth.IAuthFilterEventHandler extent). + end method. + +end class. === modified file 'oo4gl/OpenEdge/Net/HTTP/ContentDispositionHeader.cls' --- oo4gl/OpenEdge/Net/HTTP/ContentDispositionHeader.cls 2020-05-20 11:34:22 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ContentDispositionHeader.cls 2020-06-05 10:23:14 +0000 @@ -1,47 +1,13 @@ -/************************************************ -Copyright (c) 2016, 2018 by Progress Software Corporation. All rights reserved. -*************************************************/ -/*------------------------------------------------------------------------ - File : ContentDispositionHeader - Purpose : - Syntax : - Description : - Author(s) : pjudge - Created : 2016-07-01 - Notes : * Header per spec http://tools.ietf.org/html/rfc6266 - ----------------------------------------------------------------------*/ -block-level on error undo, throw. - -using OpenEdge.Core.StringConstant. -using OpenEdge.Net.HTTP.HttpHeader. - -class OpenEdge.Net.HTTP.ContentDispositionHeader inherits HttpHeader: - /* Constructor - - @param character A non-empty header name */ +class OpenEdge.Net.HTTP.ContentDispositionHeader +inherits OpenEdge.Net.HTTP.HttpHeader: + constructor public ContentDispositionHeader(input pcName as character): - super (pcName). - assign this-object:ParamDelimiter = ';':u. end constructor. - - /* Constructor - - @param character A non-empty header name - @param character A valid header value */ + constructor public ContentDispositionHeader (input pcName as character, input pcValue as character): - super(pcName, pcValue). - assign this-object:ParamDelimiter = ';':u. end constructor. method override public logical SetParameterValue( input pcParamName as character, input pcParamValue as character ): - case pcParamName: - when 'filename':u or - when 'name':u then - if not OpenEdge.Core.String:IsQuoted(pcParamValue) then - assign pcParamValue = StringConstant:DOUBLE_QUOTE + pcParamValue + StringConstant:DOUBLE_QUOTE. - end case. - - return super:SetParameterValue(input pcParamName, input pcParamValue). end method. end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/ContentDispositionHeaderBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/ContentDispositionHeaderBuilder.cls 2020-05-20 11:34:22 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ContentDispositionHeaderBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,31 +1,11 @@ -/************************************************ -Copyright (c) 2016 by Progress Software Corporation. All rights reserved. -*************************************************/ -/*------------------------------------------------------------------------ - File : ContentDispositionHeaderBuilder - Purpose : Bulider to create Content-Disposition header objects - Syntax : - Description : - Author(s) : pjudge - Created : 2016-07-01 - Notes : - ----------------------------------------------------------------------*/ -block-level on error undo, throw. - using OpenEdge.Net.HTTP.ContentDispositionHeader. using OpenEdge.Net.HTTP.DefaultHeaderBuilder. using OpenEdge.Net.HTTP.HttpHeader. -class OpenEdge.Net.HTTP.ContentDispositionHeaderBuilder inherits DefaultHeaderBuilder: +class OpenEdge.Net.HTTP.ContentDispositionHeaderBuilder +inherits OpenEdge.Net.HTTP.DefaultHeaderBuilder: - /* Constructor - - @param character The name of the header to which this builder applies */ constructor public ContentDispositionHeaderBuilder ( input pcHeaderName as character ): - super (input pcHeaderName). - - SetOption('paramDelimiter':u, ';':u). - SetOption(get-class(HttpHeader):TypeName, get-class(ContentDispositionHeader)). end constructor. end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/ContentTypeHeader.cls' --- oo4gl/OpenEdge/Net/HTTP/ContentTypeHeader.cls 2020-05-20 11:34:22 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ContentTypeHeader.cls 2020-06-05 10:23:14 +0000 @@ -1,4 +1,5 @@ -class OpenEdge.Net.HTTP.ContentTypeHeader inherits OpenEdge.Net.HTTP.HttpHeader: +class OpenEdge.Net.HTTP.ContentTypeHeader +inherits OpenEdge.Net.HTTP.HttpHeader: constructor public ContentTypeHeader(input pcName as character): end constructor. === modified file 'oo4gl/OpenEdge/Net/HTTP/Cookie.cls' --- oo4gl/OpenEdge/Net/HTTP/Cookie.cls 2018-11-20 18:35:49 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Cookie.cls 2020-06-05 10:23:14 +0000 @@ -26,7 +26,7 @@ method public override logical Equals(p1 as Progress.Lang.Object): end. - method public OpenEdge.Net.HTTP.Cookie Parse(p1 as character): + method static public OpenEdge.Net.HTTP.Cookie Parse(p1 as character): end. method public override character ToString(): === added file 'oo4gl/OpenEdge/Net/HTTP/CookieCollection.cls' --- oo4gl/OpenEdge/Net/HTTP/CookieCollection.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/CookieCollection.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,25 @@ +class OpenEdge.Net.HTTP.CookieCollection +inherits OpenEdge.Core.Collections.Collection : + + constructor public CookieCollection(): + end constructor. + + constructor public CookieCollection(input poCollection as OpenEdge.Core.Collections.ICollection): + end constructor. + + method public logical Add(input newObject as OpenEdge.Net.HTTP.Cookie): + end method. + + method public logical AddArray(input poArray as OpenEdge.Net.HTTP.Cookie extent): + end method. + + method public logical Remove(input oldObject as OpenEdge.Net.HTTP.Cookie): + end method. + + method public logical Contains(input checkObject as OpenEdge.Net.HTTP.Cookie): + end method. + + method public OpenEdge.Net.HTTP.Cookie extent ToCookieArray (): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/CookieJar.cls' --- oo4gl/OpenEdge/Net/HTTP/CookieJar.cls 2019-08-03 18:31:16 +0000 +++ oo4gl/OpenEdge/Net/HTTP/CookieJar.cls 2020-06-05 10:23:14 +0000 @@ -1,11 +1,15 @@ class OpenEdge.Net.HTTP.CookieJar -implements OpenEdge.Net.HTTP.ICookieJar, ISupportInitialize, OpenEdge.Logging.ISupportLogging: - define public property OpenEdge.Logging.Logger as OpenEdge.Logging.ILogWriter no-undo get. set. +implements OpenEdge.Net.HTTP.ICookieJar, OpenEdge.Core.ISupportInitialize, OpenEdge.Logging.ISupportLogging: + + define public property Logger as OpenEdge.Logging.ILogWriter no-undo get. set. define public property CookieJarPath as character no-undo get. set. constructor public CookieJar(): end constructor. + + destructor CookieJar(): + end. method public void Initialize(): end. @@ -13,5 +17,31 @@ method public void Destroy(): end . + method public void AddCookie(input pcDomain as character, + input pcPath as character, + input poCookie as OpenEdge.Net.HTTP.Cookie): + end. + + method public void AddCookie(input poCookie as OpenEdge.Net.HTTP.Cookie): + end. + + method public void AddCookies(input poCookies as OpenEdge.Net.HTTP.Cookie extent ): + end. + + method public void ClearPersistentCookies(): + end. + + method public void ClearSessionCookies(): + end. + + constructor static CookieJar(): + end. + + method public integer GetCookies(input poUri as OpenEdge.Net.URI, output poCookies as OpenEdge.Net.HTTP.Cookie extent): + end. + + method public logical RemoveCookie(input poCookie as OpenEdge.Net.HTTP.Cookie): + end. + end. === modified file 'oo4gl/OpenEdge/Net/HTTP/CookieJarBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/CookieJarBuilder.cls 2019-08-03 21:56:21 +0000 +++ oo4gl/OpenEdge/Net/HTTP/CookieJarBuilder.cls 2020-06-05 10:23:14 +0000 @@ -3,7 +3,7 @@ abstract: define public static property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. - define abstract property OpenEdge.Net.HTTP.CookieJar as OpenEdge.Net.HTTP.ICookieJar no-undo get. + define abstract property CookieJar as OpenEdge.Net.HTTP.ICookieJar no-undo get. method static public OpenEdge.Net.HTTP.CookieJarBuilder Build(): end. === added file 'oo4gl/OpenEdge/Net/HTTP/CookieJarDecorator.cls' --- oo4gl/OpenEdge/Net/HTTP/CookieJarDecorator.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/CookieJarDecorator.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,35 @@ +class OpenEdge.Net.HTTP.CookieJarDecorator +abstract +implements OpenEdge.Net.HTTP.ICookieJar: + + define protected property DecoratedCookieJar as OpenEdge.Net.HTTP.ICookieJar no-undo get. + + define public property CookieJarPath as character no-undo get. set. + + constructor public CookieJarDecorator(input poCookieJar as OpenEdge.Net.HTTP.ICookieJar): + end constructor. + + method public integer GetCookies(input poUri as OpenEdge.Net.URI, output poCookies as OpenEdge.Net.HTTP.Cookie extent). + end method. + + method public void AddCookie(input poCookie as OpenEdge.Net.HTTP.Cookie): + end method. + + method public void AddCookie(input pcDomain as character, + input pcPath as character, + input poCookie as OpenEdge.Net.HTTP.Cookie). + end method. + + method public logical RemoveCookie(input poCookie as OpenEdge.Net.HTTP.Cookie): + end method. + + method public void AddCookies(input poCookies as OpenEdge.Net.HTTP.Cookie extent): + end method. + + method public void ClearSessionCookies(): + end method. + + method public void ClearPersistentCookies(): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/DefaultHttpClientBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/DefaultHttpClientBuilder.cls 2020-05-04 11:21:05 +0000 +++ oo4gl/OpenEdge/Net/HTTP/DefaultHttpClientBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,99 +1,19 @@ -/************************************************ -Copyright (c) 2015-2016 by Progress Software Corporation. All rights reserved. -*************************************************/ -/*------------------------------------------------------------------------ - File : DefaultHttpClientBuilder - Purpose : - Syntax : - Description : - Author(s) : pjudge - Created : Wed Jan 14 14:53:46 EST 2015 - Notes : - ----------------------------------------------------------------------*/ -block-level on error undo, throw. - -using OpenEdge.Core.Assert. -using OpenEdge.Core.ISupportInitialize. -using OpenEdge.Logging.ILogWriter. -using OpenEdge.Logging.ISupportLogging. -using OpenEdge.Net.HTTP.ClientBuilder. -using OpenEdge.Net.HTTP.ICookieJar. -using OpenEdge.Net.HTTP.IHttpClient. -using OpenEdge.Net.HTTP.ISupportCookies. -using OpenEdge.Net.HTTP.ISupportProxy. -using OpenEdge.Net.URI. - -class OpenEdge.Net.HTTP.DefaultHttpClientBuilder inherits ClientBuilder - implements ISupportInitialize: +class OpenEdge.Net.HTTP.DefaultHttpClientBuilder +inherits OpenEdge.Net.HTTP.ClientBuilder +implements OpenEdge.Core.ISupportInitialize: - /** Returns a configured client. */ - define override public property Client as IHttpClient no-undo - get(): - return NewClient(). - end get. + define override public property Client as OpenEdge.Net.HTTP.IHttpClient no-undo get. constructor public DefaultHttpClientBuilder(): - super(). end constructor. destructor public DefaultHttpClientBuilder(): - Destroy(). end destructor. method public void Initialize(): - Named('OpenEdge-HttpClient':u, '0.4.0':u). end method. method public void Destroy(): end method. - /** Returns a useable HttpClient based on the config. - - @return IHttpClient A useable HttpClient instance */ - method private IHttpClient NewClient(): - define variable oClient as IHttpClient no-undo. - define variable oClientType as Progress.Lang.Class no-undo. - - /* INVOKE */ - Assert:IsTrue(HasOption(PROP_CLIENT_NAME)). - Assert:IsTrue(HasOption(PROP_CLIENT_VERSION)). - - assign oClientType = ClientBuilder:Registry:Get(get-class(IHttpClient):TypeName). - - /* We know the signature to the default client's constructor - make sure that the type we - get is of that type */ - Assert:IsType(oClientType, get-class(OpenEdge.Net.HTTP.HttpClient)). - - oClient = dynamic-new string(oClientType:TypeName) (GetOptionStringValue(PROP_CLIENT_NAME), - GetOptionStringValue(PROP_CLIENT_VERSION), - BuildLibrary() ). - - /* SET OPTIONS */ - if HasOption('numRetries':u) then - oClient:Options:NumRetries = GetOptionNumericValue('numRetries':u). - if HasOption('pauseBetweenRetry':u) then - oClient:Options:PauseBetweenRetry = GetOptionNumericValue('pauseBetweenRetry':u). - if HasOption('requestTimeout':u) then - oClient:Options:RequestTimeout = GetOptionNumericValue('requestTimeout':u). - - // Add logging if it's been passed in - if HasOption(get-class(ILogWriter):TypeName) - and type-of(oClient, ISupportLogging) then - assign cast(oClient, ISupportLogging):Logger = cast(GetOptionObjectValue(get-class(ILogWriter):TypeName), ILogWriter). - - /* INIT if needed */ - if type-of(oClient, ISupportInitialize) then - cast(oClient, ISupportInitialize):Initialize(). - - /* COOKIES? */ - if HasOption(get-class(ICookieJar):TypeName) then - assign oClient = ClientBuilder:DecorateClient(get-class(ISupportCookies), oClient) - cast(oClient, ISupportCookies):CookieJar = cast(GetOptionObjectValue(get-class(ICookieJar):TypeName), ICookieJar). - - /* PROXY? */ - if HasOption(get-class(ISupportProxy):TypeName) then - assign oClient = ClientBuilder:DecorateClient(get-class(ISupportProxy), oClient) - cast(oClient, ISupportProxy):ProxyURI = cast(GetOptionObjectValue(get-class(ISupportProxy):TypeName), URI). - return oClient. - end method. - + end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/DefaultResponseBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/DefaultResponseBuilder.cls 2020-05-04 11:21:05 +0000 +++ oo4gl/OpenEdge/Net/HTTP/DefaultResponseBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,6 @@ -class OpenEdge.Net.HTTP.DefaultResponseBuilder inherits OpenEdge.Net.HTTP.ResponseBuilder: - /* custom implementation */ +class OpenEdge.Net.HTTP.DefaultResponseBuilder +inherits OpenEdge.Net.HTTP.ResponseBuilder: + define override public property Response as OpenEdge.Net.HTTP.IHttpResponse no-undo get. constructor public DefaultResponseBuilder(): === added directory 'oo4gl/OpenEdge/Net/HTTP/Filter/Header' === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Header/SetCookieSetHeaderFilter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Header/SetCookieSetHeaderFilter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Header/SetCookieSetHeaderFilter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,33 @@ +class OpenEdge.Net.HTTP.Filter.Header.SetCookieSetHeaderFilter +implements OpenEdge.Net.HTTP.IHttpMessageWriter: + + define public property Message as OpenEdge.Net.HTTP.IHttpMessage no-undo get. + + constructor public SetCookieSetHeaderFilter(input poMessage as OpenEdge.Net.HTTP.IHttpMessage): + end constructor. + + method public void Open(): + end method. + + method public void Write( input poData as Progress.Lang.Object): + end method. + + method public void Write( input-output pcData as longchar ): + end method. + + method public void Write( input-output pcData as character ): + end method. + + method public void Write( input phData as handle ): + end method. + + method public void Write( input pmData as memptr ): + end method. + + method public void Flush(): + end method. + + method public void Close( ): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Header/TransferEncodingSetHeaderFilter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Header/TransferEncodingSetHeaderFilter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Header/TransferEncodingSetHeaderFilter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,33 @@ +class OpenEdge.Net.HTTP.Filter.Header.TransferEncodingSetHeaderFilter +implements OpenEdge.Net.HTTP.IHttpMessageWriter: + + define public property Message as OpenEdge.Net.HTTP.IHttpMessage no-undo get. + + constructor public TransferEncodingSetHeaderFilter(input poMessage as OpenEdge.Net.HTTP.IHttpMessage): + end constructor. + + method public void Open(): + end method. + + method public void Write( input poData as Progress.Lang.Object): + end method. + + method public void Write( input-output pcData as longchar ): + end method. + + method public void Write( input-output pcData as character): + end method. + + method public void Write(input phData as handle): + end method. + + method public void Write( input pmData as memptr ): + end method. + + method public void Flush( ): + end method. + + method public void Close( ): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/ClientSocketResponseWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/ClientSocketResponseWriter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/ClientSocketResponseWriter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,46 @@ +class OpenEdge.Net.HTTP.Filter.Payload.ClientSocketResponseWriter +implements OpenEdge.Net.HTTP.IHttpMessageWriter: + + define protected property MessageBody as OpenEdge.Core.ByteBucket no-undo get. + + define protected property Response as OpenEdge.Net.HTTP.IHttpResponse no-undo get. + + define protected property Request as OpenEdge.Net.HTTP.IHttpRequest no-undo get. + + define public property Message as OpenEdge.Net.HTTP.IHttpMessage no-undo get. + + constructor public ClientSocketResponseWriter(input poMessage as OpenEdge.Net.HTTP.IHttpResponse, + input poMessageBody as OpenEdge.Core.ByteBucket): + end method. + + method public void Close(): + end method. + + method public void Open(): + end method. + + method public void Write(input poData as Progress.Lang.Object): + end. + + method protected void Write(input poRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method protected void Write(input poSocketArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + end method. + + method public void Write(input-output pcData as longchar): + end method. + + method public void Write(input phData as handle): + end method. + + method public void Write(input-output pcData as character): + end method. + + method public void Write(input pmData as memptr): + end method. + + method public void Flush(): + end method. + +end class. === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/ConnectRequestFilter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/ConnectRequestFilter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/ConnectRequestFilter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,10 @@ +class OpenEdge.Net.HTTP.Filter.Payload.ConnectRequestFilter +inherits OpenEdge.Net.HTTP.Filter.Payload.MessageWriter: + + constructor public ConnectRequestFilter(): + end constructor. + + method override public int64 Write(input pData as Progress.Lang.Object): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/DefaultRequestFilter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/DefaultRequestFilter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/DefaultRequestFilter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,22 @@ +class OpenEdge.Net.HTTP.Filter.Payload.DefaultRequestFilter +inherits OpenEdge.Net.HTTP.Filter.Payload.MessageWriter: + + constructor public DefaultRequestFilter(): + end constructor. + + method override public int64 Write(input poData as Progress.Lang.Object): + end method. + + method protected void WriteMessage(input poRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method protected OpenEdge.Core.ByteBucket ExtractEntity(input poRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method protected void WriteRequestLine(input poRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method protected void WriteHeaders(input poRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + +end class. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/JsonBodyWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/JsonBodyWriter.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/JsonBodyWriter.cls 2020-06-05 10:23:14 +0000 @@ -17,4 +17,8 @@ method override public int64 Write(input phData as handle): end. + + method public int64 WriteHandle(input phData as handle): + end. + end. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/JsonEntityWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/JsonEntityWriter.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/JsonEntityWriter.cls 2020-06-05 10:23:14 +0000 @@ -13,6 +13,9 @@ method override public int64 Write(input poData as Progress.Lang.Object): end method. + method override public int64 Write(input phData as handle): + end. + method override public int64 Write(input pcData as longchar): end method. @@ -20,6 +23,9 @@ end method. method override public int64 Write(input pcData as character): - end method. + end method. + + method public int64 WriteHandle(input phData as handle): + end. end class. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartBodyWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartBodyWriter.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartBodyWriter.cls 2020-06-05 10:23:14 +0000 @@ -13,4 +13,7 @@ method override public int64 Write(input pData as Progress.Lang.Object): end. + method protected int64 Write(input pData as OpenEdge.Net.MultipartEntity): + end. + end. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartEntityWriter.cls 2020-06-05 10:23:14 +0000 @@ -13,4 +13,7 @@ method override public int64 Write(input pmData as memptr): end. + method protected int64 Write(input pData as OpenEdge.Net.MessagePart): + end. + end. === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormBodyWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormBodyWriter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormBodyWriter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,28 @@ +class OpenEdge.Net.HTTP.Filter.Payload.MultipartFormBodyWriter +inherits OpenEdge.Net.HTTP.Filter.Payload.MessageWriter +implements OpenEdge.Net.ISupportMultipartEntity, OpenEdge.Core.ISupportEncoding: + + define public property Boundary as character no-undo get. set. + + define public property Encoding as character no-undo get. set. + + constructor public MultipartFormBodyWriter(): + end constructor. + + method override public void Open(): + end method. + + method protected int64 Write(input pData as OpenEdge.Net.MultipartEntity): + end method. + + method override public int64 Write(input pData as Progress.Lang.Object): + end method. + + method protected int64 Write(input pData as OpenEdge.Core.Collections.IMap): + end method. + + method protected void WriteField(input pKey as Progress.Lang.Object, + input pValue as Progress.Lang.Object): + end method. + +end class. === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormEntityWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormEntityWriter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormEntityWriter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,10 @@ +class OpenEdge.Net.HTTP.Filter.Payload.MultipartFormEntityWriter +inherits OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter: + + constructor public MultipartFormEntityWriter(): + end constructor. + + method override public int64 Write(input pData as memptr): + end method. + +end class. === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormSimpleEntityWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormSimpleEntityWriter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/MultipartFormSimpleEntityWriter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,10 @@ +class OpenEdge.Net.HTTP.Filter.Payload.MultipartFormSimpleEntityWriter +inherits OpenEdge.Net.HTTP.Filter.Payload.MultipartEntityWriter: + + constructor public MultipartFormSimpleEntityWriter(): + end constructor. + + method override public int64 Write(input pData as memptr): + end method. + +end class. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/StringEntityWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/StringEntityWriter.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/StringEntityWriter.cls 2020-06-05 10:23:14 +0000 @@ -15,4 +15,8 @@ method override public int64 Write(input poData as Progress.Lang.Object): end. + + method override public int64 Write(input pcData as character): + end. + end class. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Payload/XmlEntityWriter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Payload/XmlEntityWriter.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Payload/XmlEntityWriter.cls 2020-06-05 10:23:14 +0000 @@ -1,8 +1,6 @@ class OpenEdge.Net.HTTP.Filter.Payload.XmlEntityWriter inherits OpenEdge.Net.HTTP.Filter.Payload.MessageWriter: -constructor public XmlEntityWriter(): - constructor public XmlEntityWriter(): end. === added directory 'oo4gl/OpenEdge/Net/HTTP/Filter/Status' === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Status/AuthorizationStatusFilter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Status/AuthorizationStatusFilter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Status/AuthorizationStatusFilter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,33 @@ +class OpenEdge.Net.HTTP.Filter.Status.AuthorizationStatusFilter +implements OpenEdge.Net.HTTP.IHttpMessageWriter: + + define public property Message as OpenEdge.Net.HTTP.IHttpMessage no-undo get. + + constructor public AuthorizationStatusFilter(input poMessage as OpenEdge.Net.HTTP.IHttpRequest): + end constructor. + + method public void Close(): + end method. + + method public void Flush(): + end method. + + method public void Open(): + end method. + + method public void Write(input-output pcData as longchar): + end method. + + method public void Write(input pmData as memptr): + end method. + + method public void Write(input poData as Progress.Lang.Object): + end method. + + method public void Write(input phData as handle): + end method. + + method public void Write(input-output pcData as character): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Status/RedirectStatusFilter.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Status/RedirectStatusFilter.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Status/RedirectStatusFilter.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,35 @@ +class OpenEdge.Net.HTTP.Filter.Status.RedirectStatusFilter +implements OpenEdge.Net.HTTP.IHttpMessageWriter, OpenEdge.Logging.ISupportLogging: + + define public property Logger as OpenEdge.Logging.ILogWriter no-undo get. set. + + define public property Message as OpenEdge.Net.HTTP.IHttpMessage no-undo get. + + constructor public RedirectStatusFilter(input poMessage as OpenEdge.Net.HTTP.IHttpRequest): + end constructor. + + method public void Close(): + end method. + + method public void Flush(): + end method. + + method public void Open(): + end method. + + method public void Write(input phData as handle): + end method. + + method public void Write(input-output pcData as character): + end method. + + method public void Write(input-output pcData as longchar): + end method. + + method public void Write(input pmData as memptr): + end method. + + method public void Write(input poData as Progress.Lang.Object): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/AuthenticationRequestWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/AuthenticationRequestWriterBuilder.cls 2019-08-03 21:56:21 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/AuthenticationRequestWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,13 +1,13 @@ class OpenEdge.Net.HTTP.Filter.Writer.AuthenticationRequestWriterBuilder: - define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo private set. + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. - method static public IHttpMessageWriter Build(input poRequest as OpenEdge.Net.HTTP.IAuthenticatedRequest): + method static public OpenEdge.Net.HTTP.IHttpMessageWriter Build(input poRequest as OpenEdge.Net.HTTP.IAuthenticatedRequest): end. - method static public IHttpMessageWriter Build(input poRequest as OpenEdge.Net.HTTP.IAuthenticatedRequest, + method static public OpenEdge.Net.HTTP.IHttpMessageWriter Build(input poRequest as OpenEdge.Net.HTTP.IAuthenticatedRequest, input poListener as OpenEdge.Net.HTTP.Filter.Auth.IAuthFilterEventHandler extent): end. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/BodyWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/BodyWriterBuilder.cls 2019-08-11 21:45:35 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/BodyWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,5 @@ class OpenEdge.Net.HTTP.Filter.Writer.BodyWriterBuilder: - method static public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Build(input poPart as OpenEdge.Net.HTTP.MessagePart): + method static public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Build(input poPart as OpenEdge.Net.MessagePart): end. method static public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Build(input poMessage as OpenEdge.Net.HTTP.IHttpMessage): === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/BodyWriterRegistry.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/BodyWriterRegistry.cls 2019-08-04 15:48:52 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/BodyWriterRegistry.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,5 @@ class OpenEdge.Net.HTTP.Filter.Writer.BodyWriterRegistry: - define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo private set. + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/DefaultMessageWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/DefaultMessageWriterBuilder.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/DefaultMessageWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,13 @@ +class OpenEdge.Net.HTTP.Filter.Writer.DefaultMessageWriterBuilder +inherits OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder: + + define override public property Writer as OpenEdge.Net.HTTP.Filter.Payload.MessageWriter no-undo get. + + constructor public DefaultMessageWriterBuilder(input pcContentType as character, + input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): + end constructor. + + method private MessageWriter NewMessageWriter(): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/EntityWriterRegistry.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/EntityWriterRegistry.cls 2019-08-04 15:48:52 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/EntityWriterRegistry.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,5 @@ class OpenEdge.Net.HTTP.Filter.Writer.EntityWriterRegistry inherits OpenEdge.Net.HTTP.BuilderRegistry: - define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo private set. + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/MessageWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/MessageWriterBuilder.cls 2019-10-15 14:51:31 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/MessageWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,17 +1,22 @@ -class OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder inherits OpenEdge.Net.HTTP.ConfigBuilder: +class OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder +inherits OpenEdge.Net.HTTP.ConfigBuilder +abstract: + define abstract public property Writer as OpenEdge.Net.HTTP.Filter.Payload.MessageWriter no-undo get. - define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. private set. + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. + define protected property ContentType as character no-undo get. + define protected property WriterRegistry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. method static public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Build(input poMessage as OpenEdge.Net.HTTP.IHttpMessage, input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. method static public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Build(input pcContentType as character, - input poRegistry as BuilderRegistry): + input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. - constructor public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder(input pcContentType as character, - input poRegistry as BuilderRegistry): + constructor public MessageWriterBuilder(input pcContentType as character, + input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. method public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder WriteTo(input poEntity as Progress.Lang.Object): @@ -23,7 +28,6 @@ method public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Option(input pcName as character, input poValue as Progress.Lang.Object): - end. method public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Option(input pcName as character, @@ -31,13 +35,11 @@ end. method public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Option(input pcName as character, - input pdValue as decimal): - + input pdValue as decimal): end. method public OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder Option(input pcName as character, - input plValue as logical): - + input plValue as logical): end. method protected class Progress.Lang.Class GetWriter(input pcContentType as character): === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/RequestWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/RequestWriterBuilder.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/RequestWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,38 @@ +class OpenEdge.Net.HTTP.Filter.Writer.RequestWriterBuilder +inherits OpenEdge.Net.HTTP.ConfigBuilder: + + define public property Request as OpenEdge.Net.HTTP.IHttpRequest no-undo get. + + define public property Writer as OpenEdge.Net.HTTP.Filter.Payload.MessageWriter no-undo get. + + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. + + method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): + end method. + + method static public OpenEdge.Net.HTTP.Filter.Writer.RequestWriterBuilder Build(input pRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method static public OpenEdge.Net.HTTP.Filter.Writer.RequestWriterBuilder Build(): + end method. + + constructor public RequestWriterBuilder (): + end constructor. + + constructor public RequestWriterBuilder (input pRequest as OpenEdge.Net.HTTP.IHttpRequest): + end constructor. + + method public OpenEdge.Net.HTTP.Filter.Writer.RequestWriterBuilder Request(input poMessage as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method public OpenEdge.Net.HTTP.Filter.Writer.RequestWriterBuilder WriteTo(input poMessageBody as OpenEdge.Core.ByteBucket): + end method. + + method protected OpenEdge.Net.HTTP.Filter.Payload.MessageWriter NewRequestWriter(): + end method. + + method protected class Progress.Lang.Class GetWriter(input pRequest as OpenEdge.Net.HTTP.IHttpRequest, + input pRegistry as OpenEdge.Net.HTTP.BuilderRegistry): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/SetHeaderMessageWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/SetHeaderMessageWriterBuilder.cls 2019-08-13 21:41:55 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/SetHeaderMessageWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,5 @@ class OpenEdge.Net.HTTP.Filter.Writer.SetHeaderMessageWriterBuilder: - define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo private set. + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. === modified file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/StatusCodeWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/StatusCodeWriterBuilder.cls 2019-08-13 21:41:55 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/StatusCodeWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,5 @@ class OpenEdge.Net.HTTP.Filter.Writer.StatusCodeWriterBuilder: - define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo private set. + define static public property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. method static private void InitializeRegistry(input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): end. === added file 'oo4gl/OpenEdge/Net/HTTP/Filter/Writer/VoidMessageWriterBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Filter/Writer/VoidMessageWriterBuilder.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Filter/Writer/VoidMessageWriterBuilder.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,10 @@ +class OpenEdge.Net.HTTP.Filter.Writer.VoidMessageWriterBuilder +inherits OpenEdge.Net.HTTP.Filter.Writer.MessageWriterBuilder: + + define override public property Writer as OpenEdge.Net.HTTP.Filter.Payload.MessageWriter no-undo get. + + constructor public VoidMessageWriterBuilder(input pcContentType as character, + input poRegistry as OpenEdge.Net.HTTP.BuilderRegistry): + end constructor. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpClient.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpClient.cls 2019-09-27 04:13:43 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpClient.cls 2020-06-05 10:23:14 +0000 @@ -3,7 +3,7 @@ OpenEdge.Core.ISupportInitialize, OpenEdge.Logging.ISupportLogging: - method public void AddUserAgent (input p1 as OpenEdge.Net.HTTP.IHttpRequest). + method protected void AddUserAgent (input p1 as OpenEdge.Net.HTTP.IHttpRequest). end. method public void Destroy (). @@ -11,6 +11,9 @@ method public OpenEdge.Net.HTTP.IHttpResponse Execute(p1 as OpenEdge.Net.HTTP.IHttpRequest). end. + + method public void Execute(input p1 as OpenEdge.Net.HTTP.IHttpRequest, input p2 as OpenEdge.Net.HTTP.IHttpResponse): + end. method public void Initialize (). end. @@ -18,12 +21,21 @@ method static public OpenEdge.Net.HTTP.HttpClient Instance (). end. - constructor public HttpClient (input p1 as OpenEdge.Net.HTTP.IHttpClientLibrary). + constructor public HttpClient(input p1 as character, + input p2 as character, + input p3 as OpenEdge.Net.HTTP.IHttpClientLibrary): end constructor. + + destructor HttpClient(): + end. + + method protected logical ProcessStatusAction(input poRequest as OpenEdge.Net.HTTP.IHttpRequest, + input poResponse as OpenEdge.Net.HTTP.IHttpResponse): + end. - define public property ClientName as character get. set. - define public property ClientVersion as character get. set. - define public property Logger as OpenEdge.Logging.ILogWriter get. set. - define public property Options as OpenEdge.Net.HTTP.ClientOptions get. set. + define public property ClientName as character no-undo get. + define public property ClientVersion as character no-undo get. + define public property Logger as OpenEdge.Logging.ILogWriter no-undo get. set. + define public property Options as OpenEdge.Net.HTTP.ClientOptions no-undo get. end. === added file 'oo4gl/OpenEdge/Net/HTTP/HttpClientDecorator.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpClientDecorator.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpClientDecorator.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,22 @@ +class OpenEdge.Net.HTTP.HttpClientDecorator +abstract +implements OpenEdge.Net.HTTP.IHttpClient: + + define protected property DecoratedHttpClient as OpenEdge.Net.HTTP.IHttpClient no-undo get. + + define public property ClientName as character no-undo get. + + define public property ClientVersion as character no-undo get. + + define public property Options as OpenEdge.Net.HTTP.ClientOptions no-undo get. + + constructor public HttpClientDecorator(input poHttpClient as OpenEdge.Net.HTTP.IHttpClient): + end constructor. + + method public OpenEdge.Net.HTTP.IHttpResponse Execute(input poRequest as OpenEdge.Net.HTTP.IHttpRequest): + end method. + + method public void Execute( input poRequest as OpenEdge.Net.HTTP.IHttpRequest, input poResponse as OpenEdge.Net.HTTP.IHttpResponse): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpHeader.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpHeader.cls 2020-04-23 06:12:34 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpHeader.cls 2020-06-05 10:23:14 +0000 @@ -1,13 +1,16 @@ class OpenEdge.Net.HTTP.HttpHeader: - define public property Name as character get. - - define public property NullHeader as OpenEdge.Net.HTTP.HttpHeader get. - - define public property ParamDelimiter as character get. + define public property Name as character get. protected set. + + define static public property NullHeader as OpenEdge.Net.HTTP.HttpHeader get. set. + + define public property ParamDelimiter as character get. set. define public property Value as character get. set. - - constructor public HttpHeader(): + + destructor HttpHeader(): + end. + + constructor private HttpHeader(): end. constructor public HttpHeader(p1 as character): === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpHeaderBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpHeaderBuilder.cls 2020-05-20 11:34:22 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpHeaderBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,8 +1,9 @@ class OpenEdge.Net.HTTP.HttpHeaderBuilder inherits OpenEdge.Net.HTTP.ConfigBuilder abstract: - define public static property Registry as openedge.net.http.builderregistry no-undo get. + + define public static property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. - define abstract public property Header as openedge.net.http.httpheader get. + define abstract public property Header as OpenEdge.Net.HTTP.HttpHeader get. define protected property HeaderName as character no-undo get. @@ -10,16 +11,16 @@ constructor protected HttpHeaderBuilder(p1 as character): end. - method public static openedge.net.http.httpheaderbuilder Build(p1 as character): - end. - - method public openedge.net.http.httpheaderbuilder ParametersDelimitedBy(p1 as character): - end. - - method public openedge.net.http.httpheaderbuilder Value(p1 as character): - end. - - method public openedge.net.http.httpheaderbuilder AddParameter(input pName as character, + method public static OpenEdge.Net.HTTP.HttpHeaderBuilder Build(p1 as character): + end. + + method public OpenEdge.Net.HTTP.HttpHeaderBuilder ParametersDelimitedBy(p1 as character): + end. + + method public OpenEdge.Net.HTTP.HttpHeaderBuilder Value(p1 as character): + end. + + method public OpenEdge.Net.HTTP.HttpHeaderBuilder AddParameter(input pName as character, input pValue as character): end. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpHeaderCollection.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpHeaderCollection.cls 2020-04-23 06:12:34 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpHeaderCollection.cls 2020-06-05 10:23:14 +0000 @@ -1,17 +1,20 @@ -class OpenEdge.Net.HTTP.HttpHeaderCollection: +class OpenEdge.Net.HTTP.HttpHeaderCollection serializable: + constructor public HttpHeaderCollection(): end. + + define public property Size as integer no-undo get. + + destructor HttpHeaderCollection(): + end. method public void Clear(): end. - method public void DeleteHeaderRecord(p1 as character): - end. - - method public logical FindHeaderRecord(p1 as character): - end. - - method public logical FindHeaderRecord(p1 as handle, p2 as character): + method private void DeleteHeaderRecord(p1 as character): + end. + + method private logical FindHeaderRecord(input-output p1 as handle, p2 as character): end. method public OpenEdge.Net.HTTP.HttpHeader Get(p1 as character): @@ -35,7 +38,7 @@ method public void Remove(p1 as character): end. - method public void UpdateHeaderRecord(p1 as OpenEdge.Net.HTTP.HttpHeader): + method private void UpdateHeaderRecord(p1 as OpenEdge.Net.HTTP.HttpHeader): end. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpMessage.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpMessage.cls 2019-05-17 18:15:24 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpMessage.cls 2020-06-05 10:23:14 +0000 @@ -2,25 +2,29 @@ implements OpenEdge.Net.HTTP.IHttpMessage, OpenEdge.Core.ISupportInitialize, OpenEdge.Core.IAdaptable: - define public property CharacterEncoding as character get. set. - - define public property ContentLength as integer get. set. - - define public property ContentMD5 as raw get. set. - - define public property ContentType as character get. set. - - define public property Cookies as OpenEdge.Core.Collections.IStringKeyedMap get. set. - - define public property Entity as Progress.Lang.Object get. set. - - define public property Headers as OpenEdge.Net.HTTP.HttpHeaderCollection get. set. - - define public property TransferEncoding as character get. set. - - define public property Version as character get. set. - - constructor public HttpMessage(): + + define public property CharacterEncoding as character no-undo get. set. + + define public property ContentLength as integer no-undo get. set. + + define public property ContentMD5 as raw no-undo get. set. + + define public property ContentType as character no-undo get. set. + + define protected property Cookies as OpenEdge.Core.Collections.IStringKeyedMap get. set. + + define public property Entity as Progress.Lang.Object no-undo get. set. + + define protected property Headers as OpenEdge.Net.HTTP.HttpHeaderCollection get. set. + + define public property TransferEncoding as character no-undo get. set. + + define public property Version as character no-undo get. set. + + destructor HttpMessage(): + end. + + constructor protected HttpMessage(): end. method public void ClearCookies(): @@ -38,13 +42,13 @@ method public OpenEdge.Net.HTTP.Cookie GetCookie(p1 as character): end. - method public integer GetCookies(p1 as OpenEdge.Net.HTTP.Cookie extent): + method public integer GetCookies(output p1 as OpenEdge.Net.HTTP.Cookie extent): end. method public OpenEdge.Net.HTTP.HttpHeader GetHeader(p1 as character): end. - method public integer GetHeaders(p1 as OpenEdge.Net.HTTP.HttpHeader extent): + method public integer GetHeaders(output p1 as OpenEdge.Net.HTTP.HttpHeader extent): end. method public logical HasCookie(p1 as character): @@ -70,8 +74,14 @@ method public void SetCookie(p1 as OpenEdge.Net.HTTP.Cookie): end. + + method public void SetCookies(input poCookies as OpenEdge.Net.HTTP.Cookie extent): + end. method public void SetHeader(p1 as OpenEdge.Net.HTTP.HttpHeader): end. + + method public void SetHeaders(input poHeader as OpenEdge.Net.HTTP.HttpHeader extent): + end. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpRequest.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpRequest.cls 2019-07-17 20:38:07 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpRequest.cls 2020-06-05 10:23:14 +0000 @@ -2,28 +2,31 @@ inherits OpenEdge.Net.HTTP.HttpMessage implements OpenEdge.Net.HTTP.IHttpRequest: - define public property Method as character get. set. + define public property Method as character no-undo get. set. - define public property URI as OpenEdge.Net.URI get. set. + define public property URI as OpenEdge.Net.URI no-undo get. set. constructor public HttpRequest(): end. constructor public HttpRequest(pcMethod as character, poURI as OpenEdge.Net.URI): end. -/* + constructor public HttpRequest(poMethod as OpenEdge.Net.HTTP.MethodEnum, poURI as OpenEdge.Net.URI): end. -*/ - method public void ClearCookies(): - end. - - method public void HostRemoveCookie(pcName as character): - end. - - method public void SetCookie(poCookie as OpenEdge.Net.HTTP.Cookie): - end. - - method public void SetHost(poUri as OpenEdge.Net.URI): + + method override public void ClearCookies(): + end. + + method override public void Initialize(): + end. + + method override public void RemoveCookie(pcName as character): + end. + + method override public void SetCookie(poCookie as OpenEdge.Net.HTTP.Cookie): + end. + + method protected void SetHost(poUri as OpenEdge.Net.URI): end. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpRequestDecorator.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpRequestDecorator.cls 2020-05-20 11:34:22 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpRequestDecorator.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,6 @@ class OpenEdge.Net.HTTP.HttpRequestDecorator - implements OpenEdge.Net.HTTP.IHttpRequest, OpenEdge.Core.IAdaptable: +implements OpenEdge.Net.HTTP.IHttpRequest, + OpenEdge.Core.IAdaptable: define protected property DecoratedHttpRequest as OpenEdge.Net.HTTP.IHttpRequest no-undo get. === added file 'oo4gl/OpenEdge/Net/HTTP/HttpRequestError.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpRequestError.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpRequestError.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,18 @@ +class OpenEdge.Net.HTTP.HttpRequestError +inherits OpenEdge.Core.System.ApplicationError: + + constructor static HttpRequestError(): + end constructor. + + constructor public HttpRequestError (input pcStatusCode as character, + input pcMethod as character, + input pcURI as character): + end constructor. + + constructor public HttpRequestError (input poInnerError as Progress.Lang.Error, + input pcStatusCode as character, + input pcMethod as character, + input pcURI as character): + end constructor. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpResponse.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpResponse.cls 2019-05-17 18:15:24 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpResponse.cls 2020-06-05 10:23:14 +0000 @@ -2,9 +2,9 @@ inherits OpenEdge.Net.HTTP.HttpMessage implements OpenEdge.Net.HTTP.IHttpResponse: - define public property StatusCode as integer get. set. + define public property StatusCode as integer no-undo get. set. - define public property StatusReason as character get. set. + define public property StatusReason as character no-undo get. set. constructor public HttpResponse(): end. === modified file 'oo4gl/OpenEdge/Net/HTTP/HttpResponseDecorator.cls' --- oo4gl/OpenEdge/Net/HTTP/HttpResponseDecorator.cls 2020-05-20 11:34:22 +0000 +++ oo4gl/OpenEdge/Net/HTTP/HttpResponseDecorator.cls 2020-06-05 10:23:14 +0000 @@ -1,4 +1,6 @@ -class OpenEdge.Net.HTTP.HttpResponseDecorator implements OpenEdge.Net.HTTP.IHttpResponse, OpenEdge.Core.IAdaptable: +class OpenEdge.Net.HTTP.HttpResponseDecorator +implements OpenEdge.Net.HTTP.IHttpResponse, + OpenEdge.Core.IAdaptable: define protected property DecoratedHttpResponse as OpenEdge.Net.HTTP.IHttpResponse no-undo get. === modified file 'oo4gl/OpenEdge/Net/HTTP/IHttpClient.cls' --- oo4gl/OpenEdge/Net/HTTP/IHttpClient.cls 2019-05-07 17:50:28 +0000 +++ oo4gl/OpenEdge/Net/HTTP/IHttpClient.cls 2020-06-05 10:23:14 +0000 @@ -1,12 +1,13 @@ interface OpenEdge.Net.HTTP.IHttpClient: - method public openedge.net.http.ihttpresponse Execute(p1 as openedge.net.http.ihttprequest). - - method public void Execute(p1 as openedge.net.http.ihttprequest, p2 as openedge.net.http.ihttpresponse). - - define public property ClientName as character get. - - define public property ClientVersion as character get. - - define public property Options as openedge.net.http.clientoptions get. + + method public OpenEdge.Net.HTTP.IHttpResponse Execute(p1 as OpenEdge.Net.HTTP.IHttpRequest). + + method public void Execute(p1 as OpenEdge.Net.HTTP.IHttpRequest, p2 as OpenEdge.Net.HTTP.IHttpResponse). + + define public property ClientName as character no-undo get. + + define public property ClientVersion as character no-undo get. + + define public property Options as OpenEdge.Net.HTTP.ClientOptions no-undo get. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/IHttpClientLibrary.cls' --- oo4gl/OpenEdge/Net/HTTP/IHttpClientLibrary.cls 2020-04-05 14:00:02 +0000 +++ oo4gl/OpenEdge/Net/HTTP/IHttpClientLibrary.cls 2020-06-05 10:23:14 +0000 @@ -2,8 +2,8 @@ method public void Execute(input p1 as OpenEdge.Net.HTTP.IHttpRequest, input p2 as OpenEdge.Net.HTTP.IHttpResponse). - define public property LibraryName as character get. set. - define public property LibraryVersion as character get. set. - define public property Options as OpenEdge.Net.HTTP.ClientOptions get. set. + define public property LibraryName as character no-undo get. set. + define public property LibraryVersion as character no-undo get. set. + define public property Options as OpenEdge.Net.HTTP.ClientOptions no-undo get. set. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/IHttpMessage.cls' --- oo4gl/OpenEdge/Net/HTTP/IHttpMessage.cls 2018-11-20 18:35:49 +0000 +++ oo4gl/OpenEdge/Net/HTTP/IHttpMessage.cls 2020-06-05 10:23:14 +0000 @@ -1,17 +1,17 @@ interface OpenEdge.Net.HTTP.IHttpMessage: - define public property CharacterEncoding as character get. - - define public property ContentLength as integer get. - - define public property ContentMD5 as raw get. - - define public property ContentType as character get. - - define public property Entity as Progress.Lang.Object get. - - define public property TransferEncoding as character get. + define public property CharacterEncoding as character no-undo get. set. + + define public property ContentLength as integer no-undo get. set. + + define public property ContentMD5 as raw no-undo get. set. + + define public property ContentType as character no-undo get. set. + + define public property Entity as Progress.Lang.Object no-undo get. set. + + define public property TransferEncoding as character no-undo get. set. - define public property Version as character get. + define public property Version as character no-undo get. set. method public void ClearCookies(). @@ -19,11 +19,11 @@ method public OpenEdge.Net.HTTP.Cookie GetCookie (pcName as character). - method public integer GetCookies(poCookies as OpenEdge.Net.HTTP.Cookie extent). + method public integer GetCookies(output poCookies as OpenEdge.Net.HTTP.Cookie extent). method public OpenEdge.Net.HTTP.HttpHeader GetHeader(pcName as character). - method public integer GetHeaders(poHeaders as OpenEdge.Net.HTTP.HttpHeader extent). + method public integer GetHeaders(output poHeaders as OpenEdge.Net.HTTP.HttpHeader extent). method public logical HasCookie(pcName as character). @@ -38,6 +38,11 @@ method public void RemoveHeader(pcName as character). method public void SetCookie(poCookie as OpenEdge.Net.HTTP.Cookie). + + method public void SetCookies(input poCookies as OpenEdge.Net.HTTP.Cookie extent). method public void SetHeader(poHeader as OpenEdge.Net.HTTP.HttpHeader). + + method public void SetHeaders(input poHeader as OpenEdge.Net.HTTP.HttpHeader extent). + end. === modified file 'oo4gl/OpenEdge/Net/HTTP/IHttpRequest.cls' --- oo4gl/OpenEdge/Net/HTTP/IHttpRequest.cls 2018-11-20 18:35:49 +0000 +++ oo4gl/OpenEdge/Net/HTTP/IHttpRequest.cls 2020-06-05 10:23:14 +0000 @@ -1,6 +1,6 @@ interface OpenEdge.Net.HTTP.IHttpRequest inherits OpenEdge.Net.HTTP.IHttpMessage: - define public property Method as character get. + define public property Method as character no-undo get. set. - define public property URI as OpenEdge.Net.URI get. + define public property URI as OpenEdge.Net.URI no-undo get. set. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/IHttpResponse.cls' --- oo4gl/OpenEdge/Net/HTTP/IHttpResponse.cls 2018-11-20 18:35:49 +0000 +++ oo4gl/OpenEdge/Net/HTTP/IHttpResponse.cls 2020-06-05 10:23:14 +0000 @@ -1,6 +1,6 @@ interface OpenEdge.Net.HTTP.IHttpResponse inherits OpenEdge.Net.HTTP.IHttpMessage: - define public property StatusCode as integer get. + define public property StatusCode as integer no-undo get. set. - define public property StatusReason as character get. + define public property StatusReason as character no-undo get. set. end. === added file 'oo4gl/OpenEdge/Net/HTTP/ISupportCookies.cls' --- oo4gl/OpenEdge/Net/HTTP/ISupportCookies.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ISupportCookies.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,5 @@ +interface OpenEdge.Net.HTTP.ISupportCookies: + + define public property CookieJar as OpenEdge.Net.HTTP.ICookieJar no-undo get. set. + +end interface. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/ISupportProxy.cls' --- oo4gl/OpenEdge/Net/HTTP/ISupportProxy.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ISupportProxy.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,5 @@ +interface OpenEdge.Net.HTTP.ISupportProxy: + + define public property ProxyURI as OpenEdge.Net.URI no-undo get. set. + +end interface. \ No newline at end of file === added directory 'oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets' === added file 'oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets/ABLSocketLibrary.cls' --- oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets/ABLSocketLibrary.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets/ABLSocketLibrary.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,59 @@ +class OpenEdge.Net.HTTP.Lib.ABLSockets.ABLSocketLibrary +implements OpenEdge.Net.HTTP.IHttpClientLibrary, OpenEdge.Logging.ISupportLogging: + + define public property Logger as OpenEdge.Logging.ILogWriter no-undo get. set. + + define public property LibraryName as character no-undo get. + + define public property LibraryVersion as character no-undo get. + + define public property Options as OpenEdge.Net.HTTP.ClientOptions no-undo get. + + constructor public ABLSocketLibrary(input pcLibraryName as character, input pcLibraryVersion as character, + input poSocket as OpenEdge.Net.ServerConnection.ClientSocket, + input poSocketConnectionParams as OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters): + end constructor. + + constructor public ABLSocketLibrary(input pcLibraryName as character, + input pcLibraryVersion as character, + input poSocket as OpenEdge.Net.ServerConnection.ClientSocket, + input poSocketConnectionParams as OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters, + input poOptions as OpenEdge.Net.HTTP.ClientOptions): + end constructor. + + destructor public ABLSocketLibrary(): + end destructor. + + method public void ReadTimeoutHandler(input poSender as OpenEdge.Net.ServerConnection.ClientSocket, + input poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + end method. + + method public void ReadTerminatedHandler(input poSender as OpenEdge.Net.ServerConnection.ClientSocket, + input poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + end method. + + method public void DataReceivedHandler(input poSender as OpenEdge.Net.ServerConnection.ClientSocket, + input poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + end method. + + method protected void CreateTunnel(input pProxyReq as OpenEdge.Net.HTTP.ISupportProxy): + end method. + + method protected void MakeSyncRequest(input pServer as OpenEdge.Net.ServerConnection.ClientSocket, + input pRequest as OpenEdge.Net.HTTP.IHttpRequest, + input pResponse as OpenEdge.Net.HTTP.IHttpResponse ): + end method. + + method public void Execute(input poRequest as OpenEdge.Net.HTTP.IHttpRequest, + input poResponse as OpenEdge.Net.HTTP.IHttpResponse): + end method. + + method private void ExtractBody(input poRequest as OpenEdge.Net.HTTP.IHttpRequest, + input poMessageBody as OpenEdge.Core.ByteBucket): + end method. + + method private void ExtractEntity(input poResponse as OpenEdge.Net.HTTP.IHttpResponse, + input poMessageBody as OpenEdge.Core.ByteBucket): + end method. + +end class. === added file 'oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets/ABLSocketLibraryBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets/ABLSocketLibraryBuilder.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Lib/ABLSockets/ABLSocketLibraryBuilder.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,17 @@ +class OpenEdge.Net.HTTP.Lib.ABLSockets.ABLSocketLibraryBuilder inherits OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder: + + define override public property Library as OpenEdge.Net.HTTP.IHttpClientLibrary no-undo get. + + constructor public ABLSocketLibraryBuilder(): + end constructor. + + method protected OpenEdge.Net.ServerConnection.ClientSocket CreateClientSocket(): + end method. + + method protected OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters BuildSocketConnectionParams (): + end method. + + method private OpenEdge.Net.HTTP.IHttpClientLibrary NewLib(): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/Lib/ClientLibraryBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/Lib/ClientLibraryBuilder.cls 2020-04-23 06:12:34 +0000 +++ oo4gl/OpenEdge/Net/HTTP/Lib/ClientLibraryBuilder.cls 2020-06-05 10:23:14 +0000 @@ -1,5 +1,5 @@ -class OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder -inherits OpenEdge.Net.HTTP.ConfigBuilder. +class OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder abstract +inherits OpenEdge.Net.HTTP.ConfigBuilder: method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder AddSslCipher (input p1 as character). end. @@ -34,10 +34,10 @@ method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder SetRequestTimeout (input p1 as decimal). end. - method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder SetSslCiphers (input p1 as character). + method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder SetSslCiphers (input p1 as character extent). end. - method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder SetSslProtocols (input p1 as character). + method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder SetSslProtocols (input p1 as character extent). end. method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder SslVerifyHost (input p1 as logical). @@ -46,13 +46,13 @@ method public OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder UsingLogger (input p1 as OpenEdge.Logging.ILogWriter). end. - define public abstract property Library as OpenEdge.Net.HTTP.IHttpClientLibrary get. - define protected property PROP_SSL_CIPHERS as character get. - define protected property PROP_SSL_HOSTVERIFY as character get. - define protected property PROP_SSL_PROTOCOLS as character get. + define public abstract property Library as OpenEdge.Net.HTTP.IHttpClientLibrary no-undo get. + define protected property PROP_SSL_CIPHERS as character no-undo get. + define protected property PROP_SSL_HOSTVERIFY as character no-undo get. + define protected property PROP_SSL_PROTOCOLS as character no-undo get. define protected property PROP_REUSESESSION as character no-undo get. define protected property PROP_SERVERNAME as character no-undo get. - define public static property Registry as OpenEdge.Net.HTTP.BuilderRegistry get. set. + define public static property Registry as OpenEdge.Net.HTTP.BuilderRegistry no-undo get. end. === added file 'oo4gl/OpenEdge/Net/HTTP/NullHeader.cls' --- oo4gl/OpenEdge/Net/HTTP/NullHeader.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/NullHeader.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,13 @@ +class OpenEdge.Net.HTTP.NullHeader +inherits OpenEdge.Net.HTTP.HttpHeader final: + + constructor public NullHeader(): + end constructor. + + method override protected character GetValue(): + end method. + + method override protected void Validate(input pcValue as character): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/ProxyHttpClient.cls' --- oo4gl/OpenEdge/Net/HTTP/ProxyHttpClient.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ProxyHttpClient.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,18 @@ +class OpenEdge.Net.HTTP.ProxyHttpClient +inherits OpenEdge.Net.HTTP.HttpClientDecorator +implements OpenEdge.Net.HTTP.ISupportProxy: + + define public property ProxyURI as OpenEdge.Net.URI no-undo get. set. + + constructor public ProxyHttpClient(input poClient as OpenEdge.Net.HTTP.IHttpClient, + input poProxy as OpenEdge.Net.URI): + end constructor. + + constructor public ProxyHttpClient(input poClient as OpenEdge.Net.HTTP.IHttpClient): + end constructor. + + method override public void Execute(input poRequest as OpenEdge.Net.HTTP.IHttpRequest, + input poResponse as OpenEdge.Net.HTTP.IHttpResponse): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/ProxyHttpRequest.cls' --- oo4gl/OpenEdge/Net/HTTP/ProxyHttpRequest.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ProxyHttpRequest.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,10 @@ +class OpenEdge.Net.HTTP.ProxyHttpRequest +inherits OpenEdge.Net.HTTP.HttpRequestDecorator +implements OpenEdge.Net.HTTP.ISupportProxy: + + define public property ProxyURI as OpenEdge.Net.URI no-undo get. set. + + constructor public ProxyHttpRequest(input poHttpRequest as OpenEdge.Net.HTTP.IHttpRequest): + end constructor. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/HTTP/RequestBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/RequestBuilder.cls 2020-05-04 11:21:05 +0000 +++ oo4gl/OpenEdge/Net/HTTP/RequestBuilder.cls 2020-06-05 10:23:14 +0000 @@ -6,7 +6,7 @@ define abstract public property Request as openedge.net.http.ihttprequest get. - constructor protected RequestBuilder(p1 as character, p2 as openedge.net.uri): + constructor protected RequestBuilder(p1 as character, p2 as OpenEdge.Net.URI): end. method public void Initialize(): @@ -15,199 +15,199 @@ method public void Destroy(): end. - method public static openedge.net.http.requestbuilder Build(p1 as character, p2 as openedge.net.uri): - end. - - method public static openedge.net.http.ihttprequest DecorateRequest(p1 as Progress.Lang.Class, p2 as openedge.net.http.ihttprequest): - end. - - method public static openedge.net.http.requestbuilder Delete(p1 as character): - end. - - method public static openedge.net.http.requestbuilder Delete(p1 as character, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Delete(p1 as openedge.net.uri): - end. - - method public static openedge.net.http.requestbuilder Delete(p1 as openedge.net.uri, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Delete(p1 as openedge.net.uri, p2 as Progress.Lang.Object, p3 as character): - end. - - method public openedge.net.http.requestbuilder ETag(p1 as character): - end. - - method public static openedge.net.http.requestbuilder Get(p1 as character): - end. - - method public static openedge.net.http.requestbuilder Get(p1 as character, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Get(p1 as openedge.net.uri): - end. - - method public static openedge.net.http.requestbuilder Get(p1 as openedge.net.uri, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Get(p1 as openedge.net.uri, p2 as Progress.Lang.Object, p3 as character): - end. - - method public static openedge.net.http.requestbuilder Head(p1 as character): - end. - - method public static openedge.net.http.requestbuilder Head(p1 as openedge.net.uri): - end. - - method public static openedge.net.http.requestbuilder Options(p1 as character): - end. - - method public static openedge.net.http.requestbuilder Options(p1 as character, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Options(p1 as openedge.net.uri): - end. - - method public static openedge.net.http.requestbuilder Options(p1 as openedge.net.uri, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Options(p1 as openedge.net.uri, p2 as Progress.Lang.Object, p3 as character): - end. - - method public static openedge.net.http.requestbuilder Patch(p1 as character, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Patch(p1 as openedge.net.uri, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Patch(p1 as openedge.net.uri, p2 as Progress.Lang.Object, p3 as character): - end. - - method static public openedge.net.http.requestbuilder Post(p1 as character): - end. - - method static public openedge.net.http.requestbuilder Post(p1 as openedge.net.uri): + method public static OpenEdge.Net.HTTP.RequestBuilder Build(p1 as character, p2 as OpenEdge.Net.URI): + end. + + method public static openedge.net.http.ihttprequest DecorateRequest(p1 as Progress.Lang.Class, p2 as OpenEdge.Net.HTTP.IHttpRequest): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Delete(p1 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Delete(p1 as character, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Delete(p1 as OpenEdge.Net.URI): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Delete(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Delete(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object, p3 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder ETag(p1 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Get(p1 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Get(p1 as character, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Get(p1 as OpenEdge.Net.URI): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Get(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Get(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object, p3 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Head(p1 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Head(p1 as OpenEdge.Net.URI): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Options(p1 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Options(p1 as character, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Options(p1 as OpenEdge.Net.URI): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Options(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Options(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object, p3 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Patch(p1 as character, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Patch(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Patch(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object, p3 as character): + end. + + method static public OpenEdge.Net.HTTP.RequestBuilder Post(p1 as character): + end. + + method static public OpenEdge.Net.HTTP.RequestBuilder Post(p1 as OpenEdge.Net.URI): end. - method public static openedge.net.http.requestbuilder Post(p1 as character, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Post(p1 as openedge.net.uri, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Post(p1 as openedge.net.uri, p2 as Progress.Lang.Object, p3 as character): - end. - - method public static openedge.net.http.requestbuilder Put(p1 as character, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Put(p1 as openedge.net.uri, p2 as Progress.Lang.Object): - end. - - method public static openedge.net.http.requestbuilder Put(p1 as openedge.net.uri, p2 as Progress.Lang.Object, p3 as character): - end. - - method public static openedge.net.http.requestbuilder Trace(p1 as character): - end. - - method public static openedge.net.http.requestbuilder Trace(p1 as openedge.net.uri): - end. - - method public openedge.net.http.requestbuilder AcceptAll(): - end. - - method public openedge.net.http.requestbuilder ContentType(p1 as character): - end. - - method public openedge.net.http.requestbuilder AcceptContentType(p1 as character): - end. - - method public openedge.net.http.requestbuilder AcceptFormData(): - end. - - method public openedge.net.http.requestbuilder AcceptHtml(): - end. - - method public openedge.net.http.requestbuilder AcceptJson(): - end. - - method public openedge.net.http.requestbuilder AcceptXml(): - end. - - method public openedge.net.http.requestbuilder AddCallback(p1 as Progress.Lang.Class, p2 as handle): - end. - - method public openedge.net.http.requestbuilder AddCallback(p1 as Progress.Lang.Class, p2 as Progress.Lang.Object): + method public static OpenEdge.Net.HTTP.RequestBuilder Post(p1 as character, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Post(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Post(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object, p3 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Put(p1 as character, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Put(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Put(p1 as OpenEdge.Net.URI, p2 as Progress.Lang.Object, p3 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Trace(p1 as character): + end. + + method public static OpenEdge.Net.HTTP.RequestBuilder Trace(p1 as OpenEdge.Net.URI): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AcceptAll(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder ContentType(p1 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AcceptContentType(p1 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AcceptFormData(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AcceptHtml(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AcceptJson(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AcceptXml(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AddCallback(p1 as Progress.Lang.Class, p2 as handle): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AddCallback(p1 as Progress.Lang.Class, p2 as Progress.Lang.Object): end. - method public openedge.net.http.requestbuilder AddCookie(input pCookie as OpenEdge.Net.HTTP.Cookie): + method public OpenEdge.Net.HTTP.RequestBuilder AddCookie(input pCookie as OpenEdge.Net.HTTP.Cookie): end method. - method public openedge.net.http.requestbuilder AddFormData(p1 as character, p2 as character): - end. - - method public openedge.net.http.requestbuilder AddFormData(p1 as openedge.core.collections.istringstringmap): - end. - - method public openedge.net.http.requestbuilder AddHeader(p1 as character, p2 as character): - end. - - method public openedge.net.http.requestbuilder AddHeader(p1 as openedge.net.http.httpheader): - end. - - method public openedge.net.http.requestbuilder AddJsonData(p1 as progress.json.objectmodel.jsonobject): - end. - - method public openedge.net.http.requestbuilder AuthCallback(p1 as handle): - end. - - method public openedge.net.http.requestbuilder AuthCallback(p1 as Progress.Lang.Object): - end. - - method public openedge.net.http.requestbuilder HttpVersion(p1 as character): - end. - - method public openedge.net.http.requestbuilder Id(p1 as character): - end. - - method public openedge.net.http.requestbuilder SendRequestId(): - end. - - method protected logical SetHeaderOption(p1 as openedge.net.http.httpheader): - end. - - method public openedge.net.http.requestbuilder SupportsAuthentication(): - end. - - method public openedge.net.http.requestbuilder SupportsProxy(): - end. - - method public openedge.net.http.requestbuilder ViaProxy(p1 as character): - end. - - method public openedge.net.http.requestbuilder ViaProxy(p1 as openedge.net.uri): - end. - - method public openedge.net.http.requestbuilder WithData(p1 as Progress.Lang.Object): - end. - - method public openedge.net.http.requestbuilder WithData(p1 as Progress.Lang.Object, p2 as character): - end. - - method public openedge.net.http.requestbuilder UsingBasicAuthentication(p1 as OpenEdge.Net.HTTP.Credentials): - end. - - method public openedge.net.http.requestbuilder UsingCredentials(p1 as OpenEdge.Net.HTTP.Credentials): - end. - - method public openedge.net.http.requestbuilder UsingCredentials(p1 as OpenEdge.Net.HTTP.Credentials, p2 as character, p3 as character): - end. - - method public openedge.net.http.requestbuilder UsingDigestAuthentication(p1 as OpenEdge.Net.HTTP.Credentials): - end. - - method public openedge.net.http.requestbuilder WithTransferEncoding(p1 as OpenEdge.Net.HTTP.TransferEncodingEnum): + method public OpenEdge.Net.HTTP.RequestBuilder AddFormData(p1 as character, p2 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AddFormData(p1 as OpenEdge.Core.Collections.IStringStringMap): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AddHeader(p1 as character, p2 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AddHeader(p1 as OpenEdge.Net.HTTP.HttpHeader): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AddJsonData(p1 as Progress.Json.ObjectModel.JsonObject): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AuthCallback(p1 as handle): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder AuthCallback(p1 as Progress.Lang.Object): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder HttpVersion(p1 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder Id(p1 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder SendRequestId(): + end. + + method protected logical SetHeaderOption(p1 as OpenEdge.Net.HTTP.HttpHeader): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder SupportsAuthentication(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder SupportsProxy(): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder ViaProxy(p1 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder ViaProxy(p1 as OpenEdge.Net.URI): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder WithData(p1 as Progress.Lang.Object): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder WithData(p1 as Progress.Lang.Object, p2 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder UsingBasicAuthentication(p1 as OpenEdge.Net.HTTP.Credentials): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder UsingCredentials(p1 as OpenEdge.Net.HTTP.Credentials): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder UsingCredentials(p1 as OpenEdge.Net.HTTP.Credentials, p2 as character, p3 as character): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder UsingDigestAuthentication(p1 as OpenEdge.Net.HTTP.Credentials): + end. + + method public OpenEdge.Net.HTTP.RequestBuilder WithTransferEncoding(p1 as OpenEdge.Net.HTTP.TransferEncodingEnum): end. end. === modified file 'oo4gl/OpenEdge/Net/HTTP/ResponseBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/ResponseBuilder.cls 2019-08-03 15:38:38 +0000 +++ oo4gl/OpenEdge/Net/HTTP/ResponseBuilder.cls 2020-06-05 10:23:14 +0000 @@ -13,6 +13,9 @@ method public void Initialize(): end. + + destructor public ResponseBuilder(): + end. method public void Destroy(): end method. === added file 'oo4gl/OpenEdge/Net/HTTP/SemicolonParamHeaderBuilder.cls' --- oo4gl/OpenEdge/Net/HTTP/SemicolonParamHeaderBuilder.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/SemicolonParamHeaderBuilder.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,7 @@ +class OpenEdge.Net.HTTP.SemicolonParamHeaderBuilder +inherits OpenEdge.Net.HTTP.DefaultHeaderBuilder: + + constructor public SemicolonParamHeaderBuilder ( input pcHeaderName as character ): + end constructor. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/StatefulHttpClient.cls' --- oo4gl/OpenEdge/Net/HTTP/StatefulHttpClient.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/StatefulHttpClient.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,18 @@ +class OpenEdge.Net.HTTP.StatefulHttpClient +inherits OpenEdge.Net.HTTP.HttpClientDecorator +implements OpenEdge.Net.HTTP.ISupportCookies: + + define public property CookieJar as OpenEdge.Net.HTTP.ICookieJar no-undo get. set. + + constructor public StatefulHttpClient(input poClient as OpenEdge.Net.HTTP.IHttpClient, + input poCookieJar as OpenEdge.Net.HTTP.ICookieJar): + end constructor. + + constructor public StatefulHttpClient(input poClient as OpenEdge.Net.HTTP.IHttpClient): + end constructor. + + method override public void Execute(input poRequest as OpenEdge.Net.HTTP.IHttpRequest, + input poResponse as OpenEdge.Net.HTTP.IHttpResponse): + end method. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Net/HTTP/StatusCodeHelper.cls' --- oo4gl/OpenEdge/Net/HTTP/StatusCodeHelper.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/HTTP/StatusCodeHelper.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,12 @@ +class OpenEdge.Net.HTTP.StatusCodeHelper: + + method public static character GetMessage(input piStatusCode as integer): + end method. + + method public static character GetMessage(input poStatusCode as OpenEdge.Net.HTTP.StatusCodeEnum): + end method. + + method public static OpenEdge.Net.HTTP.StatusCodeEnum GetCode(input pcStatusMessage as character): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/ISupportTransferEncoding.cls' --- oo4gl/OpenEdge/Net/ISupportTransferEncoding.cls 2019-08-11 09:57:27 +0000 +++ oo4gl/OpenEdge/Net/ISupportTransferEncoding.cls 2020-06-05 10:23:14 +0000 @@ -1,2 +1,3 @@ interface OpenEdge.Net.ISupportTransferEncoding: + define public property TransferEncoding as character no-undo get. set. end. === added file 'oo4gl/OpenEdge/Net/MediaLinkEntity.cls' --- oo4gl/OpenEdge/Net/MediaLinkEntity.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/MediaLinkEntity.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,31 @@ +class OpenEdge.Net.MediaLinkEntity serializable: + define public property ReadUrl as character no-undo get. set. + + define public property EditUrl as character no-undo get. set. + + define public property ResourceName as character no-undo get. set. + + constructor MediaLinkEntity(input pcReadUrl as character): + end constructor. + + constructor MediaLinkEntity(input pcReadUrl as character, input pcEditUrl as character): + end constructor. + + constructor MediaLinkEntity(input poReadUrl as OpenEdge.Net.URI): + end constructor. + + constructor MediaLinkEntity(input poReadUrl as OpenEdge.Net.URI, input poEditUrl as OpenEdge.Net.URI): + end constructor. + + constructor MediaLinkEntity(): + end constructor. + + method static public OpenEdge.Net.MediaLinkEntity Deserialize + (input pcMLE as longchar, + input poSerializedAs as OpenEdge.Core.SerializationFormatEnum): + end method. + + method public longchar Serialize (input poSerializedAs as OpenEdge.Core.SerializationFormatEnum): + end method. + +end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/MimeTypeHelper.cls' --- oo4gl/OpenEdge/Net/MimeTypeHelper.cls 2020-04-23 06:12:34 +0000 +++ oo4gl/OpenEdge/Net/MimeTypeHelper.cls 2020-06-05 10:23:14 +0000 @@ -1,21 +1,21 @@ class OpenEdge.Net.MimeTypeHelper: - constructor public MimeTypeHelper(). - end constructure. - - method public static logical IsFormEncoded (input p1 as character). - end. - - method public static logical IsJson (input p1 as character). - end. - - method public static logical IsMultipart (input p1 as character). - end. - - method public static logical IsXML (input p1 as character). - end. - - method public static character extent 2 SplitType (input p1 as character). - end. + constructor public MimeTypeHelper(). + end constructor. + + method public static logical IsFormEncoded (input p1 as character). + end. + + method public static logical IsJson (input p1 as character). + end. + + method public static logical IsMultipart (input p1 as character). + end. + + method public static logical IsXML (input p1 as character). + end. + + method public static character extent 2 SplitType (input p1 as character). + end. end class. \ No newline at end of file === modified file 'oo4gl/OpenEdge/Net/MultipartEntity.cls' --- oo4gl/OpenEdge/Net/MultipartEntity.cls 2019-11-05 15:30:55 +0000 +++ oo4gl/OpenEdge/Net/MultipartEntity.cls 2020-06-05 10:23:14 +0000 @@ -1,7 +1,7 @@ class OpenEdge.Net.MultipartEntity implements OpenEdge.Net.ISupportMultipartEntity: - def public override property Boundary as character get. set. + def public property Boundary as character no-undo get. set. def public property Epilogue as character get. set. @@ -11,6 +11,9 @@ constructor public MultiPartEntity(). end. + + destructor MultipartEntity(): + end. method public integer AddPart(input part as OpenEdge.Net.MessagePart). end. === modified file 'oo4gl/OpenEdge/Net/ServerConnection/ClientSocket.cls' --- oo4gl/OpenEdge/Net/ServerConnection/ClientSocket.cls 2019-11-09 13:36:15 +0000 +++ oo4gl/OpenEdge/Net/ServerConnection/ClientSocket.cls 2020-06-05 10:23:14 +0000 @@ -2,19 +2,27 @@ implements OpenEdge.Core.ServerConnection.IServerConnection, OpenEdge.Logging.ISupportLogging: - define public property Connected as logical get. set. - define public property ConnectionParameters as OpenEdge.Core.ServerConnection.IConnectionParameters get. set. - define public property DefaultReadTimeout as integer get. set. - define public property KeepAlive as logical get. set. - define public property LingerTime as integer get. set. - define public property Logger as OpenEdge.Logging.ILogWriter get. set. - define public property NoDelay as logical get. set. - define public property ReadBufferSize as integer get. set. - define public property ReceiveBufferSize as integer get. set. - define public property ReceiveTimeout as integer get. set. - define public property ReuseAddress as logical get. set. - define public property SendBufferSize as integer get. set. - define public property server as Progress.Lang.Object get. set. + define public property Connected as logical no-undo get. + define public property ConnectionParameters as OpenEdge.Core.ServerConnection.IConnectionParameters no-undo get. + define public property DefaultReadTimeout as integer no-undo get. set. + define public property KeepAlive as logical no-undo get. set. + define public property LingerTime as integer no-undo get. set. + define public property Logger as OpenEdge.Logging.ILogWriter no-undo get. set. + define public property NoDelay as logical no-undo get. set. + define public property ReadBufferSize as integer no-undo get. set. + define public property ReceiveBufferSize as integer no-undo get. set. + define public property ReceiveTimeout as integer no-undo get. set. + define public property ReuseAddress as logical no-undo get. set. + define public property SendBufferSize as integer no-undo get. set. + define public property Server as Progress.Lang.Object no-undo get. + define public property LocalHost as character no-undo get. + define public property LocalPort as integer no-undo get. + define public property RemoteHost as character no-undo get. + define public property RemotePort as integer no-undo get. + define public property SslServerName as character no-undo get. + + destructor ClientSocket(): + end. constructor public ClientSocket(): end. @@ -40,22 +48,25 @@ method public void Disconnect (): end. - method public logical IsConnected (): - end. - - method public void OnDataReceived (input p1 as OpenEdge.Net.ServerConnection.SocketReadEventArgs): - end. - - method public void OnReadTerminated (input p1 as OpenEdge.Net.ServerConnection.SocketReadEventArgs): - end. - - method public void OnReadTimeout (input p1 as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + method protected logical IsConnected (): + end. + + method protected void OnDataReceived (input p1 as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + end. + + method protected void OnReadTerminated (input p1 as OpenEdge.Net.ServerConnection.SocketReadEventArgs): + end. + + method protected void OnReadTimeout (input p1 as OpenEdge.Net.ServerConnection.SocketReadEventArgs): end. method public void ReadResponseHandler (): end. - method public void SetSocketOptions (input p1 as handle): + method private void SetSocketOptions (input p1 as handle): + end. + + method public void StartTls(input pCertificatSubjectName as character): end. method public void WaitForResponse (): @@ -67,7 +78,7 @@ method public void WaitForResponseAsync (input p1 as decimal): end. - method public void WriteData (input p1 as Memptr): + method public void WriteData (input p1 as memptr): end. define public event DataReceived signature void (input p1 as OpenEdge.Net.ServerConnection.ClientSocket, === modified file 'oo4gl/OpenEdge/Net/ServerConnection/ClientSocketConnectionParameters.cls' --- oo4gl/OpenEdge/Net/ServerConnection/ClientSocketConnectionParameters.cls 2019-09-05 19:41:43 +0000 +++ oo4gl/OpenEdge/Net/ServerConnection/ClientSocketConnectionParameters.cls 2020-06-05 10:23:14 +0000 @@ -1,19 +1,24 @@ -class OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters: - - define public property FormatMask as openedge.core.serverconnection.formatmaskenum get. set. - - define public property SslCiphers as character get. set. - - define public property SslProtocols as character get. set. +class OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters +implements OpenEdge.Core.ServerConnection.IConnectionParameters: + + define public property FormatMask as OpenEdge.Core.ServerConnection.FormatMaskEnum no-undo get. + + define public property SslCiphers as character extent get. set. + + define public property SslProtocols as character extent get. set. define public property URI as openedge.net.uri get. set. define public property VerifyHost as logical get. set. + + define public property ReuseSession as logical get. set. + + define public property ServerNameIndicator as character no-undo get. set. - constructor public ClientSocketConnectionParameter(): + constructor public ClientSocketConnectionParameters(): end. - constructor public ClientSocketConnectionParameters(p1 as char, p2 as char, p3 as int): + constructor public ClientSocketConnectionParameters(p1 as character, p2 as character, p3 as integer): end. constructor public ClientSocketConnectionParameters(p1 as OpenEdge.Net.URI): @@ -25,7 +30,7 @@ method public character GetConnectionString(p1 as character): end. - method public character GetConnectionString(p1 as openedge.core.serverconnection.formatmaskenum): + method public character GetConnectionString(p1 as OpenEdge.Core.ServerConnection.FormatMaskEnum): end. end. === added file 'oo4gl/OpenEdge/Net/ServerConnection/SocketReadEventArgs.cls' --- oo4gl/OpenEdge/Net/ServerConnection/SocketReadEventArgs.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Net/ServerConnection/SocketReadEventArgs.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,27 @@ +class OpenEdge.Net.ServerConnection.SocketReadEventArgs: + + define public property ReadComplete as logical no-undo get. set. + + define public property ReadTimeout as logical no-undo get. set. + + define public property ReadTerminated as logical no-undo get. set. + + define public property Data as class OpenEdge.Core.Memptr no-undo get. set. + + define public property TimeoutEnd as datetime-tz no-undo get. + + define public property BytesRead as int64 no-undo get. set. + + constructor public SocketReadEventArgs(input pdTimeoutOffset as decimal): + end constructor. + + constructor public SocketReadEventArgs(input piTimeoutOffset as integer): + end constructor. + + constructor public SocketReadEventArgs(input poData as class OpenEdge.Core.Memptr): + end constructor. + + constructor public SocketReadEventArgs(): + end constructor. + +end class. \ No newline at end of file === added file 'oo4gl/OpenEdge/Web/SendExceptionError.cls' --- oo4gl/OpenEdge/Web/SendExceptionError.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Web/SendExceptionError.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,23 @@ +class OpenEdge.Web.SendExceptionError +inherits OpenEdge.Core.System.ApplicationError: + + define public property StatusCode as OpenEdge.Net.HTTP.StatusCodeEnum no-undo get. private set. + + define public property StatusMessage as character no-undo get. private set. + + constructor static SendExceptionError (): + end. + + constructor public SendExceptionError(input p1 as OpenEdge.Net.HTTP.StatusCodeEnum): + end. + + constructor public SendExceptionError(input p1 as OpenEdge.Net.HTTP.StatusCodeEnum, input p2 as character): + end. + + constructor public SendExceptionError(input p1 as OpenEdge.Net.HTTP.StatusCodeEnum, input p2 as character, input p3 as Progress.Lang.Error): + end. + + constructor public SendExceptionError(input p1 as OpenEdge.Net.HTTP.StatusCodeEnum, input p2 as Progress.Lang.Error): + end. + +end. === added file 'oo4gl/OpenEdge/Web/WebRequest.cls' --- oo4gl/OpenEdge/Web/WebRequest.cls 1970-01-01 00:00:00 +0000 +++ oo4gl/OpenEdge/Web/WebRequest.cls 2020-06-05 10:23:14 +0000 @@ -0,0 +1,133 @@ +class OpenEdge.Web.WebRequest +implements OpenEdge.Web.IWebRequest: + + define public property CharacterEncoding as character no-undo get. set. + + define public property ContentLength as integer no-undo get. set. + + define public property ContentMD5 as raw no-undo get. set. + + define public property ContentType as character no-undo get. set. + + define public property ContextNames as character no-undo get. + + define public property DefaultCookieDomain as character no-undo get. + + define public property DefaultCookiePath as character no-undo get. + + define public property Entity as Progress.Lang.Object no-undo get. set. + + define public property LocalAddress as character no-undo get. + + define public property LocalHost as character no-undo get. + + define public property LocalPort as integer no-undo get. + + define public property Method as character no-undo get. set. + + define public property PathInfo as character no-undo get. + + define public property PathParameterNames as character no-undo initial ? get. private set. + + define public property RemoteAddress as character no-undo get. + + define public property RemoteHost as character no-undo get. + + define public property RemotePort as integer no-undo get. + + define public property RemoteUser as character no-undo get. + + define public property ResolvedTransportPath as character no-undo get. + + define public property ResolvedWebAppPath as character no-undo get. + + define public property ServerSoftware as character no-undo get. + + define public property TransferEncoding as character no-undo get. set. + + define public property TransportPath as character no-undo get. + + define public property URI as OpenEdge.Net.URI no-undo get. set. + + define public property UriTemplate as character no-undo initial ? get. private set. + + define public property Version as character no-undo get. set. + + define public property WebAppPath as character no-undo get. + + method public void ClearCookies(): + end. + + method public void ClearHeaders(): + end. + + method private OpenEdge.Core.Collections.IStringStringMap createQueryMapFromContext (): + end. + + method public longchar GetContextValue(p1 as character): + end. + + method public OpenEdge.Net.HTTP.Cookie GetCookie(input p1 as character): + end. + + method public integer GetCookies(output p1 as OpenEdge.Net.HTTP.Cookie extent): + end. + + method public OpenEdge.Net.HTTP.HttpHeader GetHeader(p1 as character): + end. + + method public integer GetHeaders(output p1 as OpenEdge.Net.HTTP.HttpHeader extent): + end. + + method private character GetHeaderValue(p1 as character): + end. + + method private char GetMethodNotImplementedMessage(): + end. + + method public character GetPathParameter(p1 as character): + end. + + method private char GetPropNotImplementedMessage(): + end. + + method private char GetReadOnlyMessage(): + end. + + method public logical HasCookie(input p1 as character): + end. + + method public logical HasCookie(poCookie as OpenEdge.Net.HTTP.Cookie): + end. + + method public logical HasHeader(p1 as character): + end. + + method private void LoadCookies(): + end. + + method public void RemoveCookie(input p1 as character ): + end. + + method public void RemoveCookie(p1 as OpenEdge.Net.HTTP.Cookie): + end. + + method public void RemoveHeader(p1 as character): + end. + + method public void SetCookie(p1 as OpenEdge.Net.HTTP.Cookie): + end. + + method public void SetCookies(p1 as OpenEdge.Net.HTTP.Cookie extent): + end. + + method public OpenEdge.Net.HTTP.HttpHeader SetHeader(input p1 as character, input p2 as character): + end. + + method public void SetHeader(p1 as OpenEdge.Net.HTTP.HttpHeader): + end. + + method public void SetHeaders(p1 as OpenEdge.Net.HTTP.HttpHeader extent): + end. + +end. # Begin bundle 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