Выпуск njs 0.4.0. Rambler ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ходатайство ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄Π΅Π»Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ² Nginx

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Nginx ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ выпуск ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° языка JavaScript — njs 0.4.0. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ njs Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ стандарты ECMAScript ΠΈ позволяСт Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ возмоТности Nginx ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для опрСдСлСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов, формирования ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ запроса/ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈΠ»ΠΈ быстрого создания Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² web-прилоТСниях.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° js_import для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° JavaScript-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ (location). НапримСр, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ foo.js ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ bar, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² привязкС ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ:

foo.js:

function bar(r) {
r.return(200);
}

export default {bar};

nginx.conf:

js_import foo.js;

location / {
js_content foo.bar;
}

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ r.headersOut Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

function content(r) {
r.headersOut[‘Set-Cookie’] = [
‘foo=111; Max-Age=3600; path=/’,
‘bar=qqq; Max-Age=86400; path=/’
];

r.return(200);
}

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Rambler Group ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π² слСдствСнныС ΠΎΡ€Π³Π°Π½Ρ‹ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΠ΄Π°Ρ‚Π°ΠΈ̆ства ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄Π΅Π»Π°, связанного с Nginx. Π₯одатайство Π±Ρ‹Π»ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… исполнСния вынСсСнного Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ совСта Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Rambler Group ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° с Nginx Π² граТданско-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сообщаСтся ΠΎΡ‚ расторТСнии Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° с ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΈ̆ Lynwood Investments CY Ltd, которая ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ Π² ΠΏΡ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ€Π³Π°Π½Ρ‹, дСйствуя ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Rambler.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° расторТСниС Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°, компания Lynwood Investments CY Ltd сохранила Π·Π° собой ΠΏΡ€Π°Π²ΠΎ Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡƒΠ±Ρ‹Ρ‚ΠΊΠΎΠ² ΠΈ ΠΈΡ… компСнсации ΠΏΠΎ Π΄Π΅Π»Ρƒ NGINX ΠΎΡ‚ своСго собствСнного ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π² своих собствСнных интСрСсах, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° вСсти Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Π΅Π» ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Rambler Group. По ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ ΡŽΡ€ΠΈΡΡ‚Π° Π¦Π΅Π½Ρ‚Ρ€Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€Π°Π² ходатайство Rambler Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ силы, Ρ‚Π°ΠΊ ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ΅ Π΄Π΅Π»ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° основании примирСния сторон — Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ± отсутствии состава прСступлСния Π² ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½Ρ‹Ρ… Π΄Π΅Π»Π°Ρ… находится Π² ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ слСдствСнных ΠΎΡ€Π³Π°Π½ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ