All Verbs | /protoc/{Lang} |
---|
import Foundation
import ServiceStack
public class Protoc : Codable
{
public var lang:ProtocLang
public var files:[String:String] = [:]
public var protoUrl:String
required public init(){}
}
// @DataContract
public enum ProtocLang : String, Codable
{
case Cpp
case CSharp
case Dart
case Java
case JavaLite
case ObjectiveC
case Php
case Python
case Ruby
case Go
case JavaScriptClosure
case JavaScriptCommonJs
case JavaScriptNodeJs
case Swift
case TypeScript
case TypeScriptBinary
}
public class ProtocResponse : Codable
{
public var lang:ProtocLang
public var generatedFiles:[String:String] = [:]
public var archiveUrl:String
public var responseStatus:ResponseStatus
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /protoc/{Lang} HTTP/1.1
Host: grpc.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
lang: cpp,
files:
{
String: String
},
protoUrl: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { lang: cpp, generatedFiles: { String: String }, archiveUrl: String, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }