Web socket connection user files (websocktemp)

Overview

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

The directory is located in the local directory of the node. The directory is automatically deleted when the web server machine/node/role is restarted, and 30 seconds after the last web socket connection between this server and a user application authorized through this session is break of the last websocket connection between this server and a user application authorized through this session.

The catalog is accessed from scripts using the Websocket component with the operation "File websocktemp".

Requests

HTTP verb Endpoint Description

POST

/rest/v1/fs/targets/websocktemp

Pouring a group of files

GET

/rest/v1/fs/targets/websocktemp

Getting a list of files

GET

/rest/v1/fs/targets/websocktemp/<filename>

File download

PUT

/rest/v1/fs/targets/websocktemp/<filename>

Reloading an existing file

DELETE

/rest/v1/fs/targets/websocktemp/<filename>

Deleting a file

HEAD

/rest/v1/fs/targets/websocktemp/<filename>

Getting meta-information about a file


Pouring a group of files

Uploading to the collection is done by Content-Type: multipart/formdata.

There can be one or more files in the request. The files are placed under the names specified in the Content-Disposition headers of each part.

If a file with the specified name already exists, it is not saved and returns an error. Depending on the Content-Type and the presence of successfully placed files, the request may return a failed HTTP response, or failure information in the body of the HTTP response 200 OK.

Request

Request example
POST /rest/v1/fs/targets/websocktemp HTTP/1.1
Content-Type: multipart/form-data; boundary=-----------boundary_69df8120352a996e

-----------boundary_69df8120352a996e
Content-Type: application/octet-stream
Content-Disposition: form-data; name="filename"; filename="package.bin"
Content-Transfer-Encoding: binary

BINARY BODY OF 'package.bin'
-----------boundary_69df8120352a996e--

Response

Response example
[
  {
    "name": "package.bin",
    "size": 12268,
    "status": "ok"
  }
]

Getting a list of files

Request

Table 1. Request parameters
Name Type Description

filter

object

Filter by field values.

mask

str

List of fields to output. Available fields for output: name, size, last_modified.

offset

int

Offset in the list of files to be issued.

limit

int

Maximum number of files in the list.

order

array<object|str>

The sort order of the files in the list.

Request example
GET /rest/v1/fs/targets/websocktemp HTTP/1.1

Response

Response example
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "name": "F.zip",
    "size": 8411,
    "last_modified": "2019-09-20 10:45:41"
  },
  {
    "name": "Package.bin",
    "size": 12268,
    "last_modified": "2019-09-20 10:45:49"
  }
]

File download

Request

Table 2. Request parameters
Name Type Description

attachment

bool

Issuance Type. Default false.

true – is output with the header Content-Disposition: attachment; filename=filename.ext or Content-Disposition: attachment; filename*=UTF-8''%d1%84%d0%b0%d0%b9%d0%bb.ext, where file.ext is the file name in UTF-8 encoding and URLencoded.

false – untitled Content-Disposition.

Request example
GET /rest/v1/fs/targets/websocktemp/package.bin?attachment=true HTTP/1.1

Response

Response example
HTTP/1.1 200 OK
Content-Type: application/octet-stream; charset=utf-8
Content-Disposition: attachment; filename*=UTF-8''package.bin

BINARY BODY OF 'package.bin'

Reloading an existing file

Performs a file replacement.

A single file is uploaded either with Content-Type: multipart/formdata, or with an arbitrary Content-Type that is not multipart.

If the download is done with Content-Type: multipart/formdata, then only the first file will be saved (the first part with the filename field in the header) Content-Disposition), and the file name itself will be ignored.

Request

Request example (octet-stream)
PUT /rest/v1/fs/targets/websocktemp/package.bin HTTP/1.1
Content-Type: application/octet-stream

BINARY BODY OF 'package.bin'
Request example (multipart)
PUT /rest/v1/fs/targets/websocktemp/package.bin HTTP/1.1
Content-Type: multipart/form-data; boundary=-----------boundary_69df8120352a996e

-----------boundary_69df8120352a996e
Content-Type: application/octet-stream
Content-Disposition: form-data; name="package.bin"; filename="package.bin"
Content-Transfer-Encoding: binary

BINARY BODY OF 'package.bin'
-----------boundary_69df8120352a996e--

Response

Response example
HTTP/1.1 204 No Content

Deleting a file

Request

Request example
DELETE /rest/v1/fs/targets/websocktemp/package.bin HTTP/1.1

Response

Response example
HTTP/1.1 204 No Content

Getting meta-information about a file

Returns meta-information about the file, including the size in the header Content-Length.

Features

  • HTTP-the response does not contain a body, despite the presence of a header Content-Length.

Request

Table 3. Request parameters
Name Type Description

attachment

bool

Issuance Type. Default false.

true – is output with the header Content-Disposition: attachment; filename=filename.ext or Content-Disposition: attachment; filename*=UTF-8''%d1%84%d0%b0%d0%b9%d0%bb.ext, where file.ext is the file name in UTF-8 encoding and URLencoded.

false – untitled Content-Disposition.

Request example
HEAD /rest/v1/fs/targets/websocktemp/package.bin?attachment=true HTTP/1.1

Response

Example of a successful response
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Last-Modified: Fri, 20 Sep 2019 10:45:49 GMT+2h 58m
Content-Disposition: attachment; filename=package.bin
Content-Length: 11883
Example of an unsuccessful response
HTTP/1.1 404 Not Found