Opensource-проекты

Консольный клиент для Nats

Брокер запросов и сообщений Nats - показал себя отличным инструментом как для организации Pub/Sub взаимодействия, так и для организации связи между микросервисами. Для тестов и отправки/приема отладочной информации, мною написан консольный клиент nats-cli. Его основные возможности:

Клиент написан на NodeJS и требует чтобы она была установлена на компьютере пользователя. Для использования клиента, достаточно один раз установить : его глобально:

npm install -g git+https://github.com/r1000ru/nats-cli

После установки, для его запуска достаточно выполнить команду:

nats-cli -h 127.0.0.1 -p 4222

Приведенные выше хост и порт - указывать не обязательно, они выставлены по умолчанию. Ключи хоста и порта следует использовать только в том случае, если они отличны от дефолтных.

Валидатор входящих параметров

Модуль предназначен для обработки данных, приходящих на API-сервер. Важное качество - ориентирован на клиенты, которые работают с типизированными языками (не позволяет строке присвоить False и т.п.) Поддерживает проверку следующих типов данных (для каждой проверки можно указать отдельно, обязательность и возможность Null`а):

const PV = require('params-validator');

let inputParams = {
    title: 'ParamsValidator',
    version: 1,
    inProduction: false,
    is_support: 'num'
}

let checker = PV.obj(true, false {      // Объект, обязателелен, не может быть NULL
    title: PV.str(true, true, 1, 64),  // Строка, обязательна, может быть NULL, от 1 до 64 символов
    version: PV.num(false, false, 1),   // Число, не обязательно, не менее 1-го
    inProduction: PV.bool(true, false),  // Булевый параметр, обязателен, не может быть NULL
    is_support: PV.enum(false, false, ['str','num','arr','obj','bool','enum'])  // Одно из возможных значений, не обязательно, не может быть NULL
})

var checkedParams;

try {
    checkedParams = validator.check(inputParams);
} catch (e) {
    console.log('Error: ' + e.message);
    return;
}

console.log(checkedParams);