/// <summary> /// Converts the RequestSession message into an <see cref="EtpEndpointDetails"/> instance. /// </summary> /// <param name="body">The message to convert.</param> /// <returns>The created instance.</returns> public static EtpEndpointDetails ToEndpointDetails(this EtpMessage <IRequestSession> message) { var capabilities = new EtpEndpointCapabilities(message.EtpVersion); capabilities.LoadFrom(message.Body.EndpointCapabilities); return(new EtpEndpointDetails( capabilities, message.Body.RequestedProtocols.Select(p => new EtpEndpointProtocol(p, false)).ToList(), message.Body.SupportedDataObjects.Select(o => new EtpSupportedDataObject(o)).ToList(), message.Body.SupportedCompression.ToList() ?? new List <string>(), message.Body.SupportedFormats?.ToList() ?? new List <string> { Formats.Xml } )); }
/// <summary> /// Converts the specified <see cref="EtpEndpointParameters"/> instance to a <see cref="EtpEndpointDetails"/> instance. /// </summary> /// <param name="parameters">The parameters to convert.</param> /// <param name="version">The ETP version supported.</param> /// <returns>The converted parameters.</returns> public static EtpEndpointDetails ToEndpointDetails(this EtpEndpointParameters parameters, EtpVersion version) { var capabilities = new EtpEndpointCapabilities(version); capabilities.LoadFrom(parameters.Capabilities); var details = new EtpEndpointDetails( capabilities, new List <IEndpointProtocol>(parameters.SupportedProtocols), new List <IEndpointSupportedDataObject>(parameters.SupportedDataObjects), new List <string>(parameters.SupportedCompression), new List <string>(parameters.SupportedFormats) ); return(details); }