<commit_before>[![Build status](https://travis-ci.org/zosconnect/zosconnect-node.svg?branch=master)](https://travis-ci.org/zosconnect/zosconnect-node)
[![codecov.io](http://codecov.io/github/zosconnect/zosconnect-node/coverage.svg?branch=master)](http://codecov.io/github/zosconnect/zosconnect-node?branch=master)
[![Dependencies](https://david-dm.org/zosconnect/zosconnect-node.svg)](https://david-dm.org/zosconnect/zosconnect-node)

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**

- [z/OS Connect Node.js client](#zos-connect-nodejs-client)
  - [Installing](#installing)
  - [Usage](#usage)
    - [Connecting to z/OS Connect](#connecting-to-zos-connect)
      - [HTTPs Support](#https-support)
      - [Basic Authentication](#basic-authentication)
    - [Retrieve a list of services](#retrieve-a-list-of-services)
    - [Get a service](#get-a-service)
    - [Invoke a service](#invoke-a-service)
    - [Get the request schema](#get-the-request-schema)
    - [Get the response schema](#get-the-response-schema)
    - [Get the status of the service](#get-the-status-of-the-service)
  - [License](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## z/OS Connect Node.js client

A wrapper service for z/OS Connect, enabling node applications to discover and access zSystems resources
that are service enabled by z/OS Connect.

Services are identified by name that is unique within the scope of the target z/OS Connect instance
(or cluster). The node application uses pre-existing knowledge of the service name, or discovers it
dynamically by retrieving a list of available services. The z/OS Connect node wrapper provides access
to JSON request and response schemas for the specific z/OS Conenct service, enabling the node
application to invoke that service and process the response.

### Installing

```
npm install zosconnect-node
```

### Usage

#### Connecting to z/OS Connect

```js
var ZosConnect = require('zosconnect-node');
var options = {
   uri:'http://mainframe:8080'
}
var zosconnect = new ZosConnect(options);
```
The `options` object matches exactly the options described by the [request/request](https://github.com/request/request) module. The uri parameter is mandatory.

##### HTTPs Support
Create the options object with locations for the CA certificate file and optionally the client certificate and client private key (if using client authentication). If the strictSSL option is set to false then invalid SSL certificates can be used which may be of use in development environments.
```js
var fs = require('fs');
var path = require('path');
var caFile = path.resolve(__dirname, 'ca.pem');
var certFile = path.resolve(__dirname, 'cert.pem');<commit_msg>Update readme instructions and registration marks<commit_after>[![Build status](https://travis-ci.org/zosconnect/zosconnect-node.svg?branch=master)](https://travis-ci.org/zosconnect/zosconnect-node)
[![codecov.io](http://codecov.io/github/zosconnect/zosconnect-node/coverage.svg?branch=master)](http://codecov.io/github/zosconnect/zosconnect-node?branch=master)
[![Dependencies](https://david-dm.org/zosconnect/zosconnect-node.svg)](https://david-dm.org/zosconnect/zosconnect-node)

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**

- [z/OS Connect Node.js client](#zos-connect-nodejs-client)
  - [Installing](#installing)
  - [Usage](#usage)
    - [Connecting to z/OS Connect](#connecting-to-zos-connect)
      - [HTTPs Support](#https-support)
      - [Basic Authentication](#basic-authentication)
    - [Retrieve a list of services](#retrieve-a-list-of-services)
    - [Get a service](#get-a-service)
    - [Invoke a service](#invoke-a-service)
    - [Get the request schema](#get-the-request-schema)
    - [Get the response schema](#get-the-response-schema)
    - [Get the status of the service](#get-the-status-of-the-service)
  - [License](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## z/OS&reg; Connect Node.js client

A wrapper service for z/OS&reg; Connect, enabling node applications to discover and access zSystems resources
that are service enabled by z/OS Connect.

Services are identified by name that is unique within the scope of the target z/OS Connect instance
(or cluster). The node application uses pre-existing knowledge of the service name, or discovers it
dynamically by retrieving a list of available services. The z/OS Connect node wrapper provides access
to JSON request and response schemas for the specific z/OS Conenct service, enabling the node
application to invoke that service and process the response.

### Installing

```
npm install zosconnect-node
```

### Usage

#### Connecting to z/OS Connect

```js
var ZosConnect = require('zosconnect-node');
var options = {
   uri:'http://mainframe:8080'
}
var zosconnect = new ZosConnect(options);
```
The `options` object matches exactly the options described by the [request/request](https://github.com/request/request) module. The uri or url parameter must be specified.

##### HTTPs Support
Create the options object with locations for the CA certificate file and optionally the client certificate and client private key (if using client authentication). If the strictSSL option is set to false then invalid SSL certificates can be used which may be of use in development environments.
```js
var fs = require('fs');
var path = require('path');
var caFile = path.resolve(__dirname, 'ca.pem');
var certFile = path.resolve(__dirname, 'cert.pem');
{'fraction_non_alphanumeric': 0.12142358688066993, 'fraction_numerical': 0.0013956734124214933, 'mean_word_length': 4.593170731707317, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4566359', 'n_tokens_mistral': 1692, 'n_tokens_neox': 1585, 'n_words': 563}