# Change Log v0.9.2

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

## 0.9.2 (2018-07-10)

Note: Version bump only for package @loopback/example-rpc-server

## 0.9.1 (2018-06-28)

Note: Version bump only for package @loopback/example-rpc-server

# 0.9.0 (2018-06-27)

### Features

- add `listening` property in the server interface (ff0eab7), closes #1368

## 0.8.5 (2018-06-20)

Note: Version bump only for package @loopback/example-rpc-server

## 0.8.4 (2018-06-11)

Note: Version bump only for package @loopback/example-rpc-server

## 0.8.3 (2018-06-09)

Note: Version bump only for package @loopback/example-rpc-server

## 0.8.2 (2018-06-09)

Note: Version bump only for package @loopback/example-rpc-server

## 0.8.1 (2018-06-09)

Note: Version bump only for package @loopback/example-rpc-server

# 0.8.0 (2018-06-08)

### Features

- cli: add vscode config files (3738b9c)

## 0.7.5 (2018-05-28)

### Bug Fixes

- clone the test folder for examples (00688ea)

## 0.7.4 (2018-05-20)

Note: Version bump only for package @loopback/example-rpc-server

## 0.7.3 (2018-05-14)

### Bug Fixes

- change index.d.ts files to point to dist8 (42ca42d)
- update example scripts and files in package.json (65f5d52)

## 0.7.2 (2018-05-14)

Note: Version bump only for package @loopback/example-rpc-server

## 0.7.1 (2018-05-08)

Note: Version bump only for package @loopback/example-rpc-server

# 0.7.0 (2018-05-03)

### Features

- add helper package "dist-util" (532f153)

# 0.6.0 (2018-05-03)

### Features

- add helper package "dist-util" (532f153)

## 0.5.3 (2018-04-26)

Note: Version bump only for package @loopback/example-rpc-server

## 0.5.2 (2018-04-26)

Note: Version bump only for package @loopback/example-rpc-server

## 0.5.1 (2018-04-25)

Note: Version bump only for package @loopback/example-rpc-server

# 0.5.0 (2018-04-16)

Note: Version bump only for package @loopback/example-rpc-server

## 0.4.6 (2018-04-12)

Note: Version bump only for package @loopback/example-rpc-server

## 0.4.5 (2018-04-11)

Note: Version bump only for package @loopback/example-rpc-server

## 0.4.4 (2018-04-11)

### Bug Fixes

- change file names to fit advocated naming convention (0331df8)

## 0.4.3 (2018-04-06)

Note: Version bump only for package @loopback/example-rpc-server

## 0.4.2 (2018-04-04)

Note: Version bump only for package @loopback/example-rpc-server

## 0.4.1 (2018-04-02)

Note: Version bump only for package @loopback/example-rpc-server

# 0.4.0 (2018-03-29)

### Code Refactoring

- renamed example-getting-started to example-todo (7a09f1b)

### BREAKING CHANGES

- example-getting-started is now example-todo

## 0.3.1 (2018-03-23)

### Bug Fixes

- build: fix select-dist script (e91e810)

# 0.3.0 (2018-03-21)

### Bug Fixes

- example-rpc-server: include index.ts in tsconfig (a219da3)

## 0.2.4 (2018-03-14)

Note: Version bump only for package @loopback/example-rpc-server

## 0.2.3 (2018-03-13)

Note: Version bump only for package @loopback/example-rpc-server

## 0.2.2 (2018-03-08)

Note: Version bump only for package @loopback/example-rpc-server

## 0.2.1 (2018-03-06)

Note: Version bump only for package @loopback/example-rpc-server

# 0.2.0 (2018-03-01)

Note: Version bump only for package @loopback/example-rpc-server

## 0.1.2 (2018-03-01)

### Features

- context: add type as a generic parameter to `ctx.get()` and friends (24b217d)

### BREAKING CHANGES

- context: `ctx.get()` and `ctx.getSync()` require a type now. See the example below for upgrade instructions:

    - const c: MyController = await ctx.get('MyController');
    + const c = await ctx.get<MyController>('MyController');

`isPromise` was renamed to `isPromiseLike` and acts as a type guard for `PromiseLike`, not `Promise`. When upgrading affected code, you need to determine whether the code was accepting any Promise implementation (i.e. `PromiseLike`) or only native Promises. In the former case, you should use `isPromiseLike` and potentially convert the userland Promise instance to a native Promise via `Promise.resolve(promiseLike)`. In the latter case, you can replace `isPromise(p)` with `p instanceof Promise`.

## 0.1.1 (2018-02-23)

Note: Version bump only for package @loopback/example-rpc-server

# 0.1.0 (2018-02-21)

Note: Version bump only for package @loopback/example-rpc-server

# 4.0.0-alpha.5 (2018-02-15)

Note: Version bump only for package @loopback/example-rpc-server

# 4.0.0-alpha.4 (2018-02-07)

### build

- drop dist6 related targets (#945) (a2368ce)

### BREAKING CHANGES

- Support for Node.js version lower than 8.0 has been dropped. Please upgrade to the latest Node.js 8.x LTS version.

Co-Authored-by: Taranveer Virk taranveer@virk.cc

# 4.0.0-alpha.3 (2018-02-04)

Note: Version bump only for package @loopback/example-rpc-server

# 4.0.0-alpha.2 (2018-01-30)

Note: Version bump only for package @loopback/example-rpc-server

# 4.0.0-alpha.1 (2018-01-29)

### Bug Fixes

- example-rpc-server: mocha opts, mark as private (#923) (c3b195d)

# @loopback/example-rpc-server

An example RPC server and application to demonstrate the creation of your own custom server.

![powered-by-loopback]

## Usage

1. Install the new loopback CLI toolkit.

    npm i -g @loopback/cli

2. Download the "rpc-server" application.

    lb4 example rpc-server

3. Switch to the directory and install dependencies.

    cd loopback-example-rpc-server && npm i

4. Start the app!

    npm start

Next, use your favorite REST client to send RPC payloads to the server (hosted on port 3000).

## Request Format

The request body should contain a controller name, method name and input object. Example:

    {
      "controller": "GreetController",
      "method": "basicHello",
      "input": {
        "name": "Janet"
      }
    }

The router will determine which controller and method will service your request based on the given names in the payload.

## Contributions

- Guidelines
- Join the team

## Tests

Run `npm test` from the root folder.

## Contributors

See all contributors.

## License

MIT