POST | /codelock/accessy/callback |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class AccessyCodelockCallback
{
var EventType:AccessyEvent? = null
var InvitationId:UUID? = null
var UserId:UUID? = null
var OrganizationId:UUID? = null
}
enum class AccessyEvent
{
Unknown,
MembershipCreated,
MembershipRemoved,
}
open class HttpResult
{
var ResponseText:String? = null
var ResponseStream:InputStream? = null
var FileInfo:FileInfo? = null
var VirtualFile:IVirtualFile? = null
var ContentType:String? = null
var Headers:HashMap<String,String> = HashMap<String,String>()
var Cookies:ArrayList<Cookie> = ArrayList<Cookie>()
var ETag:String? = null
var Age:TimeSpan? = null
var MaxAge:TimeSpan? = null
var Expires:Date? = null
var LastModified:Date? = null
var CacheControl:CacheControl? = null
var ResultScope:Func<IDisposable>? = null
var AllowsPartialResponse:Boolean? = null
var Options:HashMap<String,String> = HashMap<String,String>()
var Status:Int? = null
var StatusCode:HttpStatusCode? = null
var StatusDescription:String? = null
var Response:Object? = null
var ResponseFilter:IContentTypeWriter? = null
var RequestContext:IRequest? = null
var View:String? = null
var Template:String? = null
var PaddingLength:Int? = null
var IsPartialRequest:Boolean? = null
}
open interface IVirtualFile
{
var VirtualPathProvider:IVirtualPathProvider?
var Extension:String?
var Length:Long?
}
open interface IVirtualPathProvider
{
var RootDirectory:IVirtualDirectory?
var VirtualPathSeparator:String?
var RealPathSeparator:String?
}
open interface IVirtualDirectory
{
}
@Flags()
enum class CacheControl(val value:Int)
{
@SerializedName("0") None(0),
@SerializedName("1") Public(1),
@SerializedName("2") Private(2),
@SerializedName("4") MustRevalidate(4),
@SerializedName("8") NoCache(8),
@SerializedName("16") NoStore(16),
@SerializedName("32") NoTransform(32),
@SerializedName("64") ProxyRevalidate(64),
}
open interface IContentTypeWriter
{
}
open interface IRequest
{
var OriginalRequest:Object?
var Response:IResponse?
var OperationName:String?
var Verb:String?
var RequestAttributes:RequestAttributes?
var RequestPreferences:IRequestPreferences?
var Dto:Object?
var ContentType:String?
var IsLocal:Boolean?
var UserAgent:String?
var Cookies:HashMap<String,Cookie>?
var ResponseContentType:String?
var HasExplicitResponseContentType:Boolean?
var Items:HashMap<String,Object>?
var Headers:NameValueCollection?
var QueryString:NameValueCollection?
var FormData:NameValueCollection?
var UseBufferedStream:Boolean?
var RawUrl:String?
var AbsoluteUri:String?
var UserHostAddress:String?
var RemoteIp:String?
var Authorization:String?
var IsSecureConnection:Boolean?
var AcceptTypes:ArrayList<String>?
var PathInfo:String?
var OriginalPathInfo:String?
var InputStream:InputStream?
var ContentLength:Long?
var Files:ArrayList<IHttpFile>?
var UrlReferrer:Uri?
}
open interface IResponse
{
var OriginalResponse:Object?
var Request:IRequest?
var StatusCode:Int?
var StatusDescription:String?
var ContentType:String?
var OutputStream:InputStream?
var Dto:Object?
var UseBufferedStream:Boolean?
var IsClosed:Boolean?
var KeepAlive:Boolean?
var HasStarted:Boolean?
var Items:HashMap<String,Object>?
}
@Flags()
enum class RequestAttributes(val value:Int)
{
@SerializedName("0") None(0),
@SerializedName("1") Localhost(1),
@SerializedName("2") LocalSubnet(2),
@SerializedName("4") External(4),
@SerializedName("8") Secure(8),
@SerializedName("16") InSecure(16),
@SerializedName("24") AnySecurityMode(24),
@SerializedName("32") HttpHead(32),
@SerializedName("64") HttpGet(64),
@SerializedName("128") HttpPost(128),
@SerializedName("256") HttpPut(256),
@SerializedName("512") HttpDelete(512),
@SerializedName("1024") HttpPatch(1024),
@SerializedName("2048") HttpOptions(2048),
@SerializedName("4096") HttpOther(4096),
@SerializedName("8160") AnyHttpMethod(8160),
@SerializedName("8192") OneWay(8192),
@SerializedName("16384") Reply(16384),
@SerializedName("24576") AnyCallStyle(24576),
@SerializedName("32768") Soap11(32768),
@SerializedName("65536") Soap12(65536),
@SerializedName("131072") Xml(131072),
@SerializedName("262144") Json(262144),
@SerializedName("524288") Jsv(524288),
@SerializedName("1048576") ProtoBuf(1048576),
@SerializedName("2097152") Csv(2097152),
@SerializedName("4194304") Html(4194304),
@SerializedName("8388608") Jsonl(8388608),
@SerializedName("16777216") MsgPack(16777216),
@SerializedName("33554432") FormatOther(33554432),
@SerializedName("67076096") AnyFormat(67076096),
@SerializedName("67108864") Http(67108864),
@SerializedName("134217728") MessageQueue(134217728),
@SerializedName("268435456") Tcp(268435456),
@SerializedName("536870912") Grpc(536870912),
@SerializedName("1073741824") EndpointOther(1073741824),
@SerializedName("2080374784") AnyEndpoint(2080374784),
@SerializedName("-2147483648") InProcess(-2147483648),
@SerializedName("-2147483645") InternalNetworkAccess(-2147483645),
@SerializedName("-2147483641") AnyNetworkAccessType(-2147483641),
@SerializedName("-1") Any(-1),
}
open interface IRequestPreferences
{
var AcceptsBrotli:Boolean?
var AcceptsDeflate:Boolean?
var AcceptsGzip:Boolean?
}
open interface IHttpFile
{
var Name:String?
var FileName:String?
var ContentLength:Long?
var ContentType:String?
var InputStream:InputStream?
}
Kotlin AccessyCodelockCallback DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /codelock/accessy/callback HTTP/1.1
Host: api.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"EventType":"Unknown"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {}