POST | /members/claim |
---|
import Foundation
import ServiceStack
public class ClaimReq : Codable
{
public var employerId:String?
public var memberId:String?
public var type:String?
public var Description:String?
required public init(){}
}
public class ClaimResponse : Codable
{
public var result:HttpResult?
required public init(){}
}
public class HttpResult : Codable
{
public var responseText:String?
public var responseStream:Data?
public var fileInfo:FileInfo?
//virtualFile:IVirtualFile ignored. Swift doesn't support interface properties
public var contentType:String?
public var headers:[String:String] = [:]
public var cookies:[Cookie] = []
public var eTag:String?
@TimeSpan public var age:TimeInterval?
@TimeSpan public var maxAge:TimeInterval?
public var expires:Date?
public var lastModified:Date?
public var cacheControl:CacheControl?
public var resultScope:Func<IDisposable>?
public var allowsPartialResponse:Bool?
public var options:[String:String] = [:]
public var status:Int?
public var statusCode:HttpStatusCode?
public var statusDescription:String?
//response:Object ignored. Type could not be extended in Swift
//responseFilter:IContentTypeWriter ignored. Swift doesn't support interface properties
//requestContext:IRequest ignored. Swift doesn't support interface properties
public var view:String?
public var template:String?
public var paddingLength:Int?
public var isPartialRequest:Bool?
required public init(){}
}
public protocol IVirtualFile
{
//virtualPathProvider:IVirtualPathProvider ignored. Swift doesn't support interface properties
var `extension`:String? { get set }
var length:Int? { get set }
}
public protocol IVirtualPathProvider
{
//rootDirectory:IVirtualDirectory ignored. Swift doesn't support interface properties
var virtualPathSeparator:String? { get set }
var realPathSeparator:String? { get set }
}
public protocol IVirtualDirectory
{
}
// @Flags()
public enum CacheControl : Int, Codable
{
case None = 0
case Public = 1
case Private = 2
case MustRevalidate = 4
case NoCache = 8
case NoStore = 16
case NoTransform = 32
case ProxyRevalidate = 64
}
public protocol IContentTypeWriter
{
}
public protocol IRequest
{
//originalRequest:Object ignored. Type could not be extended in Swift
//response:IResponse ignored. Swift doesn't support interface properties
var operationName:String? { get set }
var verb:String? { get set }
var requestAttributes:RequestAttributes? { get set }
//requestPreferences:IRequestPreferences ignored. Swift doesn't support interface properties
//dto:Object ignored. Type could not be extended in Swift
var contentType:String? { get set }
var isLocal:Bool? { get set }
var userAgent:String? { get set }
var cookies:[String:Cookie]? { get set }
var responseContentType:String? { get set }
var hasExplicitResponseContentType:Bool? { get set }
var items:[String:Object]? { get set }
var headers:NameValueCollection? { get set }
var queryString:NameValueCollection? { get set }
var formData:NameValueCollection? { get set }
var useBufferedStream:Bool? { get set }
var rawUrl:String? { get set }
var absoluteUri:String? { get set }
var userHostAddress:String? { get set }
var remoteIp:String? { get set }
var authorization:String? { get set }
var isSecureConnection:Bool? { get set }
var acceptTypes:[String] { get set }
var pathInfo:String? { get set }
var originalPathInfo:String? { get set }
var inputStream:Data? { get set }
var contentLength:Int? { get set }
var files:[IHttpFile] { get set }
var urlReferrer:Uri? { get set }
}
public protocol IResponse
{
//originalResponse:Object ignored. Type could not be extended in Swift
//request:IRequest ignored. Swift doesn't support interface properties
var statusCode:Int? { get set }
var statusDescription:String? { get set }
var contentType:String? { get set }
var outputStream:Data? { get set }
//dto:Object ignored. Type could not be extended in Swift
var useBufferedStream:Bool? { get set }
var isClosed:Bool? { get set }
var keepAlive:Bool? { get set }
var hasStarted:Bool? { get set }
var items:[String:Object]? { get set }
}
// @Flags()
public enum RequestAttributes : Int, Codable
{
case None = 0
case Localhost = 1
case LocalSubnet = 2
case External = 4
case Secure = 8
case InSecure = 16
case AnySecurityMode = 24
case HttpHead = 32
case HttpGet = 64
case HttpPost = 128
case HttpPut = 256
case HttpDelete = 512
case HttpPatch = 1024
case HttpOptions = 2048
case HttpOther = 4096
case AnyHttpMethod = 8160
case OneWay = 8192
case Reply = 16384
case AnyCallStyle = 24576
case Soap11 = 32768
case Soap12 = 65536
case Xml = 131072
case Json = 262144
case Jsv = 524288
case ProtoBuf = 1048576
case Csv = 2097152
case Html = 4194304
case Wire = 8388608
case MsgPack = 16777216
case FormatOther = 33554432
case AnyFormat = 67076096
case Http = 67108864
case MessageQueue = 134217728
case Tcp = 268435456
case Grpc = 536870912
case EndpointOther = 1073741824
case AnyEndpoint = 2080374784
case InProcess = -2147483648
case InternalNetworkAccess = -2147483645
case AnyNetworkAccessType = -2147483641
case Any = -1
}
public protocol IRequestPreferences
{
var acceptsBrotli:Bool? { get set }
var acceptsDeflate:Bool? { get set }
var acceptsGzip:Bool? { get set }
}
public protocol IHttpFile
{
var name:String? { get set }
var fileName:String? { get set }
var contentLength:Int? { get set }
var contentType:String? { get set }
var inputStream:Data? { get set }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /members/claim HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ClaimReq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaApi.ServiceModel">
<Description>String</Description>
<EmployerId>String</EmployerId>
<MemberId>String</MemberId>
<Type>String</Type>
</ClaimReq>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ClaimResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaApi.ServiceModel"> <Result xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:Age>PT0S</d2p1:Age> <d2p1:AllowsPartialResponse>false</d2p1:AllowsPartialResponse> <d2p1:CacheControl>None</d2p1:CacheControl> <d2p1:ContentType>String</d2p1:ContentType> <d2p1:Cookies xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Net" /> <d2p1:ETag>String</d2p1:ETag> <d2p1:Expires>0001-01-01T00:00:00</d2p1:Expires> <d2p1:Headers xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>Location</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Headers> <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified> <d2p1:MaxAge>PT0S</d2p1:MaxAge> <d2p1:Options xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>Location</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Options> <d2p1:PaddingLength>0</d2p1:PaddingLength> <d2p1:RequestContext i:nil="true" /> <d2p1:Response /> <d2p1:ResponseFilter i:nil="true" /> <d2p1:ResultScope xmlns:d3p1="http://schemas.datacontract.org/2004/07/System" i:nil="true" /> <d2p1:Status>100</d2p1:Status> <d2p1:StatusCode>Continue</d2p1:StatusCode> <d2p1:StatusDescription>String</d2p1:StatusDescription> <d2p1:Template>String</d2p1:Template> <d2p1:View>String</d2p1:View> </Result> </ClaimResponse>