openapi: 3.0.0
info:
  title: Code Samples
  version: 1.0.0

paths:
  /code-samples:
    get:
      summary: Code samples in endpoints
      description: |
        `x-codeSamples` or `x-code-samples` is a vendor extension used to provide small snippets of code in various languages.
        
        Below OpenAPI spec shows how to use this extension 

        ```yaml
        openapi: 3.0.0
        info:
          title: Code Samples
          version: 1.0.0
        paths:
          /my-endpoint-1:
            get:
              summary: ...
              description: ...
              x-code-samples:   # <<< Extension
                - lang: js
                  label: 'JS - Node'
                  source: |
                    var request = require("request");
                    ...
                    ...
                - lang: js
                  label: 'JS - JQuery'
                  source: |
                    $.ajax(settings).done(function (response) {
                      console.log(response);
                    });
            ...
            ...
        ```


  
      x-codeSamples:
        - lang: js
          label: 'JS - Node'
          source: |
            var request = require("request");

            var options = {
                method: 'GET',
                url: 'https://inventory-fac4.restdb.io/appdeploy/motorbikes',
                headers: 
                {   'cache-control': 'no-cache',
                    'x-apikey': '560bd47058e7ab1b2648f4e7' 
                } 
            };
            
            request(options, function (error, response, body) {
                if (error) throw new Error(error);
                console.log(body);
            });

        - lang: js
          label: 'JS - XHR'
          source: |
            var data = null;

            var xhr = new XMLHttpRequest();
            xhr.withCredentials = true;
            
            xhr.addEventListener("readystatechange", function () {
                if (this.readyState === 4) {
                console.log(this.responseText);
                }
            });
            
            xhr.open("GET", "https://inventory-fac4.restdb.io/rest/motorbikes");
            xhr.setRequestHeader("content-type", "application/json");
            xhr.setRequestHeader("x-apikey", "560bd47058e7ab1b2648f4e7");
            xhr.setRequestHeader("cache-control", "no-cache");
            
            xhr.send(data);
        
        - lang: js
          label: 'JS - JQuery'
          source: |
            var settings = {
              "async": true,
              "crossDomain": true,
              "url": "https://inventory-fac4.restdb.io/rest/motorbikes",
              "method": "GET",
              "headers": {
                "content-type": "application/json",
                "x-apikey": "560bd47058e7ab1b2648f4e7",
                "cache-control": "no-cache"
              }
            }
                              
            $.ajax(settings).done(function (response) {
                console.log(response);
            });
