[//]: # ( README.md Fri 21 Jul 2023 12:24:22 MSK )

# WWW::Suffit

The Suffit core library

This library provides common functionality for all sub projects of the Suffit metasystem

## RU

�瑹氵謀��郕 訇邽訇郅邽郋�迮郕邽 WWW::Suffit

苤郋��郋�觧銑��� �迮郅邽郱 訇邽訇郅邽郋�迮郕邽 [WWW::Suffit](https://metacpan.org/pod/WWW::Suffit), 訄 �訄郕迠迮 迡��迣邽� 訇邽訇郅邽�迮郕 郈�郋���訄郇��赲訄 邽邾�煷� WWW::Suffit::* �訄郕邽� 郕訄郕 [WWW::Suffit::Server](https://metacpan.org/pod/WWW::Suffit::Server) 邽 [WWW::Suffit::Client](https://metacpan.org/pod/WWW::Suffit::Client).
�煷覜教鉼覜憾�迮郕邽 �迮邾迮邿��赲訄 WWW::Suffit 郈郋郱赲郋郅�𧤤耯�:

- �郋郱迡訄赲訄��� 郅迮迣郕郋赲迮�郇�氵� Mojolicious 郈�邽郅郋迠迮郇邽�� 赲 ��邽郅迮 Suffit;
- �郋郱迡訄赲訄��� 郕郅邽迮郇��� 邽 �迮�赲迮���, �訄訇郋�訄�耯亀覜� 郈郋 ��訄郇迡訄��� Suffit API;
- 郋�赲郋訇郋迡邽��𧄍��� 郋� 邾郇郋迠迮��赲訄 ��觧剷菩銑氺� 郱訄赲邽�邽邾郋��迮邿, 赲 �郋邾 �箮解�郅迮 郋� CTK

�煷覜教鉼覜憾�迮郕訄 [WWW::Suffit](https://metacpan.org/pod/WWW::Suffit) 郈郋郅郇郋���𧄍� �郋赲邾迮��邽邾訄 � 郈郋�郅迮迡郇迮邿 赲迮��邽迮邿 [Mojolicious](https://metacpan.org/pod/Mojolicious) 9.35

苤�訄郇迡訄�� **Suffit API** �殁�郋 ��郅郋赲郇�氵� 郈�郋�郋郕郋郅 郋訇邾迮郇訄 �郋郋訇�亀菩請解觧標� 邾迮迠迡� �迮�赲迮�郋邾 邽 郕郅邽迮郇�郋邾 郈郋赲迮�� HTTP, 郕郋�郋��氵� 郋�郇郋赲�氵紹萃���� 郇訄 邽�郈郋郅�芿煩憶紹匾請覜� JSON 赲 郕訄�箮萃��赲迮 �觧煤氵碧� �迮�邽訄郅邽郱訄�邽邽 迡訄郇郇�氺� 邽 RESTful 邾迮�郋迡郋郅郋迣邽�𧤤� �訄邾郋迣郋 郋訇�亀菩請解� 郕郅邽迮郇�訄 邽 �迮�赲迮�訄. �㼎� 郋�郇郋赲郇�氺� 郋�郋訇迮郇郇郋��迮邿 Suffit API 邾郋迠郇郋 郋�邾迮�邽��� 邾邽郇邽邾訄郅邽��邽�箮請憾���� 邽 郈郋郅郇郋迮 �郋郋�赲迮���赲邽迮 �郈迮�邽�邽郕訄�邽邽 OpenAPI. �嘞� 迡訄�� 郇訄郈邽�訄郇邽�� �殁�郋迣郋 郈郋��訄 訄郕��訄郅�芿請� OpenAPI �郈迮�邽�邽郕訄�邽邽 Suffit API 赲迮��邽邽 1.00

�𠇲�邽邾迮� 郋訇邾迮郇訄 �郋郋訇�亀菩請解觧標� 邾迮迠迡� �迮�赲迮�郋邾 邽 郕郅邽迮郇�郋邾 郈郋 �郈迮�邽�邽郕訄�邽邽 ��訄郇迡訄��訄 **Suffit API**

**Request JSON:**

```json
{
  "base_url": "https://localhost:8695",
  "code": "E0000",
  "datetime": "2023-07-27T16:26:39Z",
  "message": "Ok",
  "remote_addr": "127.0.0.1",
  "requestid": "3a8cbe4f",
  "status": true,
  "time": 1682764944,
  "version": "1.00"
}
```

**Response JSON (Ok):**

```json
{
  "code": "E0000",
  "message": "Ok",
  "status": true
}
```

**Response JSON (Error):**

```json
{
  "code": "E0001",
  "message": "Oops",
  "status": false
}
```

### WWW::Suffit::Const

�婧憶棋�郅�� 郋郈�迮迡迮郅�觧萃� 郕郋郇��訄郇��� ��訄郇迡訄��訄 Suffit API, 郈郋邾邽邾郋 �殁�郋迣郋 赲 �殁�郋邾 邾郋迡�郅迮 �迮訄郅邽郱郋赲訄郇 郈�郋��郋邿 PurePerl 邾迮�訄郇邽郱邾 郈郋郅��箮菩請解� 郕郋郇��訄郇� [FHS](https://www.pathname.com/fhs/pub/fhs-2.3.html), 郇訄邽邾迮郇郋赲訄郇邽�� 郕郋郇��訄郇� 郈郋郱訄邽邾��赲郋赲訄郇�� 邽郱 迡郋郕�邾迮郇�訄 [Installation Directory Variables](http://www.gnu.org/software/autoconf/manual/html_node/Installation-Directory-Variables.html). �嘞匾謀�邽邾迮�, 郕郋郇��訄郇�訄 *SHAREDSTATEDIR* �郋迡迮�迠邽� 赲�氺箮解�郅迮郇郇郋迮 郱郇訄�箮菩請覜� `/var/lib`

### WWW::Suffit::Util

�婧憶棋�郅�� �郋迡迮�迠邽� 郇迮�郕郋郅�芿碟� 郈�郋���氺� ��邽郅邽�訄�郇�氺� ��郇郕�邽邿, �箮參��邽�箮請� 郈郋郱訄邽邾��赲郋赲訄郇郇�氺� 邽郱 邾郋迡�郅�� [CTK::Util](https://metacpan.org/pod/CTK::Util). �𠇲�邽 郇訄郈邽�訄郇邽邽 邾郋迡�郅�� 訇�氵鉼� ��𢒼�迮郇郋, �𢒼�郋 訇郋郅�𧄍�參� �箮參���� ��邽郅邽�訄�郇�氺� ��郇郕�邽邿 �迠迮 邽邾迮迮���� 赲 �訄郕邽� 邾郋迡�郅�𧤤�, 郕訄郕 [Mojo::Util](https://metacpan.org/pod/Mojo::Util). �㼎� 郇訄邽訇郋郅迮迮 郕�邽�邽�箮請�-赲訄迠郇�氺� ��郇郕�邽邿 邾郋迠郇郋 郋�邾迮�邽��� �郅迮迡��耯亀覜�: `dformat`, `fbytes`, `fduration`, `human2bytes`, `parse_time_offset`, `parse_expire`. 苤郈邽�郋郕 ��郇郕�邽邿 訇�迡迮� �訄��邽 �郋 赲�迮邾迮郇迮邾, 郋訇 �殁�郋邾 �� 訇�迡� 郈邽�訄��� 郇訄 ���訄郇邽�訄� 訇郅郋迣訄 郋�迡迮郅�芿諸氵標� 郈郋��訄邾邽

### WWW::Suffit::RefUtil

衪�郋� 邾郋迡�郅�� 郋訇�㦒菩棣菩諸觧萃� 赲 �迮訇迮 ��訄郱� 郇迮�郕郋郅�芿碟� 邾郋迡�郅迮邿 [Data::Util::PurePerl](https://metacpan.org/pod/Data::Util::PurePerl), [Params::Classify](https://metacpan.org/pod/Params::Classify), [Ref::Util](https://metacpan.org/pod/Ref::Util) 邽 [CTK::TFVals](https://metacpan.org/pod/CTK::TFVals) 郇郋 郈郋郱訄邽邾��赲郋赲訄郇郋 邽郱 郇邽� �郋郅�芿碟� �訄邾郋迮 赲訄迠郇郋迮 邽 �箮參��郋 邽�郈郋郅�芿煤�迮邾郋迮. �煷憶銑𧄍�參� �箮參���� 郈�邽赲迮迡迮郇郇�氺� 邾郋迡�郅迮邿 邽�郈郋郅�芿煤�迮� XS ��郇郕�邽邽, 郕郋迣迡訄 郕訄郕 �� 郈郋��訄赲邽郅 郈迮�迮迡 �郋訇郋邿 郱訄迡訄�𢒼� �迮訄郅邽郱郋赲訄��� ��郇郕�邽邽 郇訄 �箮解��郋邾 Perl (PurePerl) 迠迮��赲��� 郈�郋邽郱赲郋迡邽�迮郅�芿請憾���𧄍� 赲 郈郋郅�芿煤� 郅�煷創碟憶創� 郈郋��邽�郋赲訄郇邽��. �㼎棣菩憶鉼憶創解� [Mojolicious](https://metacpan.org/pod/Mojolicious) �迮郅邽郕郋邾 邽 郈郋郅郇郋���𧄍� 邾郇郋邿 郋赲郅訄迡迮郅訄 邽 訄郕郕��訄�郇郋 赲郈邽�訄郅訄��� 赲 邾郋邿 郇郋赲�氵� 郈郋迡�郋迡 郕 郇訄郈邽�訄郇邽�� 郈�邽郅郋迠迮郇邽邿. �葜箮菩諸� 郇訄迡迮�耯���, �𢒼�郋 赲�� 迮迣郋 �郋迠迮 郈郋迡迡迮�迠邽�迮

### WWW::Suffit::API

衪�郋 �迮邾迮邿��赲郋 郈郋迡邾郋迡�郅迮邿 �迮訄郅邽郱郋赲訄郇郋 � �迮郅�𧄍� 迡郋郕�邾迮郇�邽�郋赲訄郇邽�� ��訄郇迡訄��郇�氺� 郱訄郈�郋�郋赲 邽 郋�赲迮�郋赲. �婧憶棋�郅�� WWW::Suffit::API �觧紹銑觧萃���� 訄赲�郋郇郋邾郇�氵� 邾郋迡�郅迮邾 邽 郈�迮迡��訄赲郅�觧萃� �郋訇郋邿 迡郋郕�邾迮郇�訄�邽��. �� 迡訄郅�芿請菩塾�菩� �殁�郋� 邾郋迡�郅�� 訇�迡迮� 郈郋郈郋郅郇�𧤤��𧄍��� 郇郋赲�氵標� 郈郋迡邾郋迡�郅�觧標� 邽 邽� 郋郈邽�訄郇邽�觧標�. �嘞� �迮郕��亀覜� 邾郋邾迮郇� �殁�郋 郈�郋��郋 "郱訄迣郅���碟�"

### WWW::Suffit::Client

�䢛亀� 郋迡邽郇 訄赲�郋郇郋邾郇�氵� 邾郋迡�郅��, �郋郱迡訄郇郇�氵� 郕訄郕 郇訄�郅迮迡郇邽� 迡��迣郋迣郋 訄赲�郋郇郋邾郇郋迣郋 邾郋迡�郅�� - [WWW::Suffit::UserAgent](https://metacpan.org/pod/WWW::Suffit::UserAgent). [WWW::Suffit::Client](https://metacpan.org/pod/WWW::Suffit::Client) �迮訄郅邽郱�迮� 赲郋郱邾郋迠郇郋���� 郋訇�亀菩請解� � �迮�赲迮�訄邾邽, �訄訇郋�訄�耯亀覜標� 郈郋 ��訄郇迡訄��� Suffit API. �嘞� �迮迣郋迡郇�� �迮訄郅邽郱郋赲訄郇郋 2 郈郋迡邾郋迡�郅�� - V1 邽 NoAPI. V1 邾郋迡�郅�� �郋迡迮�迠邽� 邾迮�郋迡�� Suffit API 赲迮��邽邽 1.xx (`authn`, `authz`, `pubkey`); NoAPI 邾郋迡�郅�� �郋迡迮�迠邽� 邾迮�郋迡�� 郇迮 �觧紹銑𧤤耯亀覜萃��� Suffit API 邾迮�郋迡訄邾邽, 郇訄郈�邽邾迮�: `manifest`, `download`, `upload` 邽 `remove`

### WWW::Suffit::Server

衪�郋� 訄赲�郋郇郋邾郇�氵� 邾郋迡�郅�� �迮訄郅邽郱�迮� �迮�赲迮�郇�氵� �迮郅郈迮��� 邽 郋訇�訄訇郋��箮覜碟�, 郇訄郈�邽邾迮�, ServerInfo. �氱憶標覜標� �殁�郋迣郋 邾郋迡�郅�� �迮訄郅邽郱�迮� 郇迮郕郋�郋��氵� 郈郅訄迣邽郇�� [Mojolicious](https://metacpan.org/pod/Mojolicious)

### WWW::Suffit::UserAgent

�𡤕紼�郋郇郋邾郇�氵� 邾郋迡�郅��-赲�訄郈郈迮� [Mojo::UserAgent](https://metacpan.org/pod/Mojo::UserAgent). 衪�郋� 邾郋迡�郅�� 郋�郋�邾郅迮郇 赲 郋訇�㦒菩碧�郇郋邾 ��邽郅迮 � ��𢒼𤧸�郋邾 赲郋郱邾郋迠郇郋邿 邾邽迣�訄�邽邽 郇訄 迡��迣郋邿 訇訄郱郋赲�氵� 邾郋迡�郅�� 訄迣迮郇�訄. [WWW::Suffit::UserAgent](https://metacpan.org/pod/WWW::Suffit::UserAgent) �迮訄郅邽郱�迮� 邾迮�郋迡�� 郈郋郅�迮郇邽�� ��訄���訄 邽 郋��覜教憶� �郋迣郅訄�郇郋 �郈迮�邽�邽郕訄�邽邽 ��訄郇迡訄��訄 Suffit API, 郈郋邾邽邾郋 �殁�郋迣郋 邾郋迡�郅�� �迮訄郅邽郱�迮� 邾迮�郋迡 郈�郋赲迮�郕邽 迡郋���郈郇郋��邽 API �迮�赲迮�迮 - `check`