ProtocApi

<back to all web services

Protoc

The following routes are available for this service:
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); }
}

TypeScript Protoc DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: application/json
Content-Type: application/json
Content-Length: length

{"lang":"cpp","files":{"String":"String"},"protoUrl":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
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"}}}