All Verbs | /protoc/{Lang} |
---|
// @DataContract
export enum ProtocLang
{
Cpp = 'cpp',
CSharp = 'csharp',
Dart = 'dart',
Java = 'java',
JavaLite = 'java-lite',
ObjectiveC = 'objc',
Php = 'php',
Python = 'python',
Ruby = 'ruby',
Go = 'go',
JavaScriptClosure = 'js-closure',
JavaScriptCommonJs = 'js-commonjs',
JavaScriptNodeJs = 'js-node',
Swift = 'swift',
TypeScript = 'ts',
TypeScriptBinary = 'ts-binary',
}
export class ProtocResponse
{
public lang: ProtocLang;
public generatedFiles: { [index: string]: string; };
public archiveUrl: string;
public responseStatus: ResponseStatus;
public constructor(init?: Partial<ProtocResponse>) { (Object as any).assign(this, init); }
}
export class Protoc
{
public lang: ProtocLang;
public files: { [index: string]: string; };
public protoUrl: string;
public constructor(init?: Partial<Protoc>) { (Object as any).assign(this, 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 } } }