Negligent Pachinko Machine

    postman-code-generators

    1.2.2 • Public • Published


    Manage all of your organization's APIs in Postman, with the industry's most complete API development environment.

    Supercharge your API workflow.
    Modern software is built on APIs. Postman helps you develop APIs faster.

    postman-code-generators Build Status

    This module converts a Postman SDK Request Object into a code snippet of chosen language.

    Every code generator has two identifiers: language and variant.

    • language of a code generator is the programming language in which the code snippet is generated.
    • variant of a code generator is the methodology or the underlying library used by the language to send requests.

    List of supported code generators:

    Language Variant
    C libcurl
    C# RestSharp
    cURL cURL
    Dart http
    Go Native
    HTTP HTTP
    Java OkHttp
    Java Unirest
    JavaScript Fetch
    JavaScript jQuery
    JavaScript XHR
    NodeJs Axios
    NodeJs Native
    NodeJs Request
    NodeJs Unirest
    Objective-C NSURLSession
    OCaml Cohttp
    PHP cURL
    PHP Guzzle
    PHP pecl_http
    PHP HTTP_Request2
    PowerShell RestMethod
    Python http.client
    Python Requests
    R httr
    R RCurl
    Ruby Net:HTTP
    Shell Httpie
    Shell wget
    Swift URLSession

    Table of contents

    1. Getting Started
    2. Prerequisite
    3. Usage
      1. Using postman code generators as a Library
    4. Development
      1. Installing Dependencies
      2. Testing
      3. Packaging
    5. Contributing
    6. License

    Getting Started

    To install postman-code-generators as your dependency

    $ npm install postman-code-generators

    To get a copy on your local machine

    $ git clone https://github.com/postmanlabs/postman-code-generators.git

    Prerequisite

    To run any of the postman-code-generators, ensure that you have NodeJS >= v8. A copy of the NodeJS installable can be downloaded from https://nodejs.org/en/download/package-manager.

    Usage

    Using postman-code-generators as a Library

    There are three functions that are exposed in postman-code-generators: getLanguageList, getOptions, and convert.

    getLanguageList

    This function returns a list of supported code generators.

    Example:
    var codegen = require('postman-code-generators'), // require postman-code-generators in your project
        supportedCodegens = codegen.getLanguageList();
        console.log(supportedCodegens);
        // output:
        // [
        //   {
        //     key: 'nodejs',
        //     label: 'NodeJs',
        //     syntax_mode: 'javascript',
        //     variant: [
        //       {
        //         key: 'Requests'
        //       },
        //       {
        //         key: 'Native'
        //       },
        //       {
        //         key: 'Unirest'
        //       }
        //     ]
        //   },
        //   ...
        // ]

    getOptions

    This function takes in three parameters and returns a callback with error and supported options of that code generator.

    • language - language key from the language list returned from getLanguageList function
    • variant - variant key provided by getLanguageList function
    • callback - callback function with first parameter as error and second parameter as array of options supported by the codegen.

    A typical option has the following properties:

    • name - Display name
    • id - unique ID of the option
    • type - Data type of the option. (Allowed data types: boolean, enum, positiveInteger)
    • default - Default value. The value that is used if this option is not specified while creating code snippet
    • description - User friendly description.
    Example:
    var codegen = require('postman-code-generators'), // require postman-code-generators in your project
        language = 'nodejs',
        variant = 'Request';
    
        codegen.getOptions(language, variant, function (error, options) {
          if (error) {
            // handle error
          }
          console.log(options);
        });
    // output: 
    //     [
    //     {
    //       name: 'Set indentation count',
    //       id: 'indentCount',
    //       type: 'positiveInteger',
    //       default: 2,
    //       description: 'Set the number of indentation characters to add per code level'
    //     },
    //     {
    //       name: 'Set indentation type',
    //       id: 'indentType',
    //       type: 'enum',
    //       availableOptions: ['Tab', 'Space'],
    //       default: 'Space',
    //       description: 'Select the character used to indent lines of code'
    //     },
    //     ...
    //   ];

    convert

    This function takes in five parameters and returns a callback with error and generated code snippet

    • language - lang key from the language list returned from getLanguageList function
    • variant - variant key provided by getLanguageList function
    • request - Postman-SDK Request Object
    • options - Options that can be used to configure generated code snippet. Defaults will be used for the unspecified attributes
    • callback - callback function with first parameter as error and second parameter as string for code snippet
    Example:
    var codegen = require('postman-code-generators'), // require postman-code-generators in your project
        sdk = require('postman-collection'), // require postman-collection in your project
        request = new sdk.Request('https://www.google.com'),  //using postman sdk to create request 
        language = 'nodejs',
        variant = 'request',
        options = {
            indentCount: 3,
            indentType: 'Space',
            trimRequestBody: true,
            followRedirect: true
        };
    codegen.convert(language, variant, request, options, function(error, snippet) {
        if (error) {
            //  handle error
        }
        //  handle snippet
    });

    Development

    Installing dependencies

    This command will install all the dependencies in production mode.

    $ npm install;

    To install dev dependencies also for all codegens run:

    $ npm run deepinstall dev; 

    Testing

    To run common repo test as well as tests (common structure test + individual codegen tests) for all the codegens

    $ npm test; 

    To run structure and individual tests on a single codegen

    $ npm test <codegen-name>;
    # Here "codege-name" is the folder name of the codegen inside codegens folder

    Packaging

    To create zipped package of all codegens

    $ npm run package;

    Note: The zipped package is created inside each codegen's folder.

    To create zipped package of a single codegen

    $ npm run package <codegen-name>

    Contributing

    Please take a moment to read our contributing guide to learn about our development process. Open an issue first to discuss potential changes/additions.

    License

    This software is licensed under Apache-2.0. Copyright Postman, Inc. See the LICENSE.md file for more information.

    Keywords

    none

    Install

    npm i postman-code-generators

    DownloadsWeekly Downloads

    10,543

    Version

    1.2.2

    License

    Apache-2.0

    Unpacked Size

    2.04 MB

    Total Files

    437

    Last publish

    Collaborators

    • abhijitkane
    • umeshp7
    • ankitsaini