Kleissner
ee22bf641a
Warehouse.FileExists return fileSize instead of fileInfo
2022-02-21 22:35:20 +01:00
Kleissner
6a5312d834
New config field LogTarget. Simplified function backend.LogError.
2022-01-12 22:18:34 +01:00
Kleissner
a19bac1916
Refactor ReadBlock and ReadFile functions. Close #84
2022-01-03 01:21:05 +01:00
Kleissner
38d411bb9a
webapi: Fix bug in search job.
2021-12-29 16:57:07 +01:00
Kleissner
5d598c13f6
webapi: Move search jobs into API context
2021-12-29 05:47:17 +01:00
Kleissner
ec1bfdfac8
webapi: Move download info into api context
2021-12-29 05:41:16 +01:00
Kleissner
f2c344dc96
Major refactoring of the code base into Backend structure. Increase version number to Alpha 6 to prepare for the upcoming release.
2021-12-29 05:29:34 +01:00
Kleissner
ade13d6422
Search results: Immediately (with results) signal if no more results will be available (search terminated).
2021-12-14 17:48:59 +01:00
Kleissner
5a89f2b943
Add "webp" file extension as picture.
2021-12-14 16:55:52 +01:00
Kleissner
a67c67b7f9
Fix returned status in /search/result
2021-12-14 16:08:02 +01:00
Kleissner
c053c617c2
Add users blockchain data to the search index and provide it in search results. Updated webapi search and download.
2021-12-14 15:45:03 +01:00
Kleissner
20a1d45520
webapi: Implement GeoIP.
2021-12-14 03:09:28 +01:00
Kleissner
e41e6820bc
Search: Add separator.
...
webapi: Search results and explore: set tag TagSharedByCount if file owner is active peer.
2021-12-14 02:13:04 +01:00
Kleissner
ced9574e5e
webapi: Live download implementation.
2021-12-14 01:27:04 +01:00
Kleissner
f18e651f40
webapi: /file/view add parameter 'nocache' to force download from remote peer. This is useful for testing purposes.
2021-12-13 16:52:13 +01:00
Kleissner
cab881ebdb
webapi: Add option for some URLs to accept the API key in the parameter, instead of the "x-api-key" HTTP header. By default add /file/read and /file/view.
...
This allows embedding the URLs into existing code that may not be able to set the special HTTP header.
2021-12-13 16:49:56 +01:00
Kleissner
ecef7b5fb8
Webapi: Live implementation of search and explore. Removed dummy code.
2021-12-13 04:07:38 +01:00
Kleissner
68d8c11872
Refactor file transfer header encoding into protocol sub-module.
2021-11-30 03:53:19 +01:00
Kleissner
e648f80e31
webapi: /file/read and /file/view serve file from warehouse if available.
2021-11-29 17:51:22 +01:00
Kleissner
1be95b46fd
webapi: Add documentation about file type and format.
2021-11-29 03:13:15 +01:00
Kleissner
ffc558b7f2
Change file permission of config file to 666 😈 when creating it. This is consistent with the log file.
2021-11-28 22:05:27 +01:00
Kleissner
793e586234
webapi: Set merkle fields of file records when adding files to the blockchain.
2021-11-28 22:03:08 +01:00
Kleissner
d64f8b19fb
webapi: New function /warehouse/read/path to read a file from warehouse to disk
2021-11-26 08:53:42 +01:00
Kleissner
f9d8ecb6b0
webapi: Implement optional API key to secure the API against unauthenticated attackers.
2021-11-16 19:27:53 +01:00
Kleissner
d06c2e0b1a
Define common application exit codes for backend executables in Exit.go.
...
Improve logging of webapi start.
2021-11-15 03:00:24 +01:00
Kleissner
9626fa8088
Fork btcec to remove external dependency. This significantly reduces the count of indirect modules (cuts it by half). Close #7
...
Update the other Go modules.
2021-11-14 22:37:07 +01:00
Kleissner
a727f4d8b1
Define and document the flow window size for transfer.
...
Document webapi timeout parameters.
2021-11-13 14:41:14 +01:00
Kleissner
f3d5f23cf9
Transfer: Record close reason of underlying library (UDT). This helps for debugging issues. Close #54
2021-11-08 04:40:53 +01:00
Kleissner
4704b5194f
webapi: Add cancellation channel to FileStartReader. Add convenience function FileReadAll.
2021-11-01 22:36:10 +01:00
Kleissner
9ddca35277
Transfer: Set max packet size.
...
udt: Improve error messages. Fix bug in udtSocketSend.processDataMsg, the header was not considered in the max size.
webapi: New /file/view API which is useful for immediate testing of file transfer.
2021-10-28 04:06:10 +02:00
Kleissner
5d9d1bf838
File transfer: New API /file/read
2021-10-27 14:16:13 +02:00
Kleissner
b5266b1c52
File Transfer: Add header to file transfer to indicate file size and transfer size. This is important to know when to stop reading. It will also help when reading only ranges (which is important for video streaming).
...
New function FileTransferReadHeaderUDT to read the header.
Warehouse: ReadFile return count bytes read
2021-10-25 03:34:28 +02:00
Kleissner
f1e30c942f
webapi: /blockchain/file/add and /blockchain/file/update now always overwrite file size field. Update file now fails if ID is not provided.
2021-10-22 16:55:03 +02:00
Kleissner
2659921cb8
warehouse: Minor refactoring. Use native hash encoding for FileExists.
2021-10-22 00:21:59 +02:00
Kleissner
c7b9facc10
webapi: /search/result always return stats if requested
2021-10-21 16:18:20 +02:00
Kleissner
e45d6fe888
New function to delete account. Create deletion functions for blockchain and warehouse. Add function /account/delete to webapi. Close #42
2021-10-20 08:46:53 +02:00
Kleissner
285bed59e3
webapi: Document time zone behavior.
2021-10-19 17:36:18 +02:00
Kleissner
e78ca02af7
Housekeeping! Renaming /blockchain functions for simplicity
2021-10-13 22:26:30 +02:00
Kleissner
1c0406dc60
Housekeeping! Removing unnecessary "blockchain" prefix of status codes within the blockchain package.
2021-10-13 21:22:17 +02:00
Kleissner
b556acb86c
webapi: New function /blockchain/file/update
...
blockchain: Add readme.md. Add function ReplaceFiles.
2021-10-13 20:09:09 +02:00
Kleissner
c2f110169a
Automatically delete files from Warehouse in case there are no other references when deleting files from the blockchain via /blockchain/self/delete/file.
...
New function blockchain.FileExists.
blockchain.DeleteFiles now returns list of deleted files.
2021-10-13 06:00:40 +02:00
Kleissner
335f83d79b
/blockchain/self/add/file checks now if the file exists in the Warehouse and aborts with StatusCorruptBlockRecord if not.
2021-10-13 02:42:04 +02:00
Kleissner
cec070b740
Introducing Warehouse - the store for files shared by the user.
...
New endpoints:
/warehouse/create Create a file in the warehouse
/warehouse/create/path Create a file in the warehouse via copy
/warehouse/read Read a file in the warehouse
/warehouse/delete Delete a file in the warehouse
2021-10-13 01:40:58 +02:00
Kleissner
fbeb01e7ff
Major refactoring of blockchain code into new sub-package.
2021-10-11 01:21:38 +02:00
Kleissner
7495b823e4
webapi search: Implement /search/result/ws
2021-10-10 16:58:09 +02:00
Kleissner
7891bdbeac
webapi search: Provide option to embed statistics into /search/result response
2021-10-10 16:07:44 +02:00
Kleissner
4ef002ab57
webapi: Add /search/statistic
2021-10-10 15:32:29 +02:00
Kleissner
7c3fc8938f
webapi search: Add min/max file size as filter.
2021-10-10 03:03:35 +02:00
Kleissner
5707132687
webapi: Search: Add support for additional sorting parameters (Size ASC/DESC, Shared by count ASC/DESC).
2021-10-10 02:20:36 +02:00
Kleissner
2451fdafb1
New Search Job code. Supports filtering and sorting. Renaming apiBlockRecordFile -> apiFile. Added filters and sort parameters to /search/result.
...
Improved API documentation. Added documentation about search filters and sort parameter.
2021-10-05 10:50:04 +02:00