// результат в виде массива
function findItemsByUserName($objects, username){
let items = [];
for(let key in $objects){
if ($objects[key].name === username) {
items.push(Object.assign({},$objects[key]));
}
}
return items;
}
// результат в виде объектов
function findItemsByUserName($objects, username){
let items = {};
for(let key in $objects){
if ($objects[key].name === username) {
items[key] = Object.assign({},$objects[key]);
}
}
return items;
}
const
finalhandler = require('finalhandler'), // пакет нужно будет поставить через npm
http = require('http'),
officegen = require('officegen'); // пакет нужно будет поставить через npm
Router = require('router'), // пакет нужно будет поставить через npm
// создаем сервер и биндим роутеры на все ответы
server = http.createServer(function onRequest(req, res) {
router(req, res, finalhandler(req, res));
});
// внутри метода пишем свой код с этой либы, я особо не вникал взял пример из документации
router.get('/generate-pptx', function(request,response) {
response.writeHead ( 200, {
"Content-Type": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
'Content-disposition': 'attachment; filename=surprise.pptx'
});
var pptx = officegen ( 'pptx' );
pptx.on ( 'finalize', function ( written ) {
// ...
});
pptx.on ( 'error', function ( err ) {
// ...
});
// ... (fill pptx with data)
pptx.generate ( response );
});
// слушаем запросы на 3000 порту
server.listen({port: 3000});
let direction = 'from';
let url = strtr('url.com/api/{direction}/rest', {
'{direction}' => direction
});
console.log('test url replace placeholder',url);
const
finalhandler = require('finalhandler'),
http = require('http'),
Router = require('router');
let routerOptions = {},
router = Router(routerOptions ),
server;
router.get('/chat/test',function(req,res) {
let ChatController = new( require('./lib/controller/chat'));
ChatController.actionTest().then(function(result){
res.end(result);
});
});
server = http.createServer(function onRequest(req, res) {
router(req, res, finalhandler(req, res));
});
// timeout 2 min default 120000
server.listen({port: port, timeout: 60000}, function(){
});
paths:
tests: tests
output: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
actor_suffix: Tester
settings:
bootstrap: _bootstrap.php
colors: false
memory_limit: 1024M
extensions:
enabled:
- Codeception\Extension\RunFailed
# Codeception Test Suite Configuration
#
# Suite for unit or integration tests.
class_name: UnitTester
modules:
enabled:
- Asserts
- Yii2:
part: [orm, fixtures, email]
configFile: 'tests/_config/unit.php'
\yii\helpers\FileHelper::createDirectory(\Yii::getAlias('@tests/_output/assets'));
return [
'id' => 'test-console',
'class' => 'yii\web\Application',
'basePath' => \Yii::getAlias('@tests'),
'runtimePath' => \Yii::getAlias('@tests/_output'),
'components' => [
'request' => [
'cookieValidationKey' => 'wefJDF8s',
'scriptFile' => \Yii::getAlias('@tests/_output/index.php'),
'url' => '/', # задаем и ошибки не будет
'scriptUrl' => '/index.php',
],
'assetManager' => [
'bundles' => [
// отрубаем публикацию ассетов
'yii\grid\GridViewAsset' => false,
'yii\web\JqueryAsset' => false,
],
],
],
];
$parseText= '<html><body>'. $parseText .'</body></html> ';