Commit Graph

193 Commits

Author SHA1 Message Date
Derrick Hammer be92e036f3
feat: initial swagger support 2024-02-07 17:39:18 -05:00
Derrick Hammer d13c15212c
fix: need to create a special mock handler for tus cors, and make cores a dedicated middleware function 2024-02-03 20:11:47 -05:00
Derrick Hammer 6655abe61b
fix: need to allow Upload-Length through cors 2024-02-03 20:02:11 -05:00
Derrick Hammer 8a1e586b28
fix: need to allow Upload-Concat through cors 2024-02-03 20:00:40 -05:00
Derrick Hammer 39b4977d52
fix: need to allow Expires through cors 2024-02-03 19:59:43 -05:00
Derrick Hammer 130abe6098
fix: need to allow Authorization through cors 2024-02-03 19:58:17 -05:00
Derrick Hammer 5784afe064
fix: need to create custom cors middleware instance for tus 2024-02-03 19:55:32 -05:00
Derrick Hammer 6894cd7e54
refactor: put cors middleware 1st 2024-02-03 19:46:02 -05:00
Derrick Hammer d57a14d9a3
fix: need to add options routes 2024-02-03 19:34:55 -05:00
Derrick Hammer fd721077e5
fix: need to apply cors to tus upload 2024-02-03 19:25:13 -05:00
Derrick Hammer 6d34f5b683
refactor: change struct naming convention from "impl" to "default" 2024-01-31 20:29:27 -05:00
Derrick Hammer 883504225e
fix: lifecycle setup needs to return nil 2024-01-30 14:53:50 -05:00
Derrick Hammer 1721fbf832
fix: update imports 2024-01-30 00:33:57 -05:00
Derrick Hammer e034e1d54e
refactor: restructure s5 protocol/api to use new fx module and new library structure. Also move the proto/api to its own package for organization 2024-01-29 15:11:57 -05:00
Derrick Hammer b4e2e962e5
fix: we can use modules in the builders after all 2024-01-28 05:22:11 -05:00
Derrick Hammer 18a54917a0
fix: add LifecyclesParams struct 2024-01-28 04:45:34 -05:00
Derrick Hammer 610d5fe268
fix: add init to create an empty router 2024-01-28 04:44:16 -05:00
Derrick Hammer 646a65f814
fix: need to use group tag 2024-01-28 04:23:58 -05:00
Derrick Hammer a410cc55f0
fix: dont return pointer 2024-01-28 04:22:49 -05:00
Derrick Hammer 4348ff6dfe
fix: HttpHandler needs a Result struct 2024-01-28 04:18:32 -05:00
Derrick Hammer c326d9b61b
fix: we cannot wrap the build into a module as it causes provide issues 2024-01-28 04:17:22 -05:00
Derrick Hammer 5fd601407f
chore: unused function 2024-01-28 04:02:40 -05:00
Derrick Hammer ceabb95f6d
fix: we need to pass out the api in both struct and interface form for fx to read it properly 2024-01-28 04:01:36 -05:00
Derrick Hammer 80484079d6
refactor: we dont need to register the router 2024-01-28 03:03:04 -05:00
Derrick Hammer 8c89796341
refactor: use a centralized list key for enabled protocols 2024-01-28 03:01:12 -05:00
Derrick Hammer f7057142eb
fix: add init func to s5 api 2024-01-28 02:51:35 -05:00
Derrick Hammer 55f515157d
refactor: move BuildS5TusApi and export middlewares to break import cycle 2024-01-28 02:48:02 -05:00
Derrick Hammer 2dc8fc56f5
refactor: epic refactor to use uber fx microframework/DI framework to manage dependency graph, remove the portal object, and remove the interfaces package 2024-01-28 02:20:59 -05:00
Derrick Hammer ad54cc70b3
fix: need to pass content type header before ServeContent 2024-01-25 19:18:35 -05:00
Derrick Hammer be27728b42
feat: need to support mime type in small uploads 2024-01-25 19:15:01 -05:00
Derrick Hammer 541fcff779
feat: add cors support 2024-01-25 18:25:10 -05:00
Derrick Hammer 73bd74faeb
refactor: use storage NewFile 2024-01-25 16:34:31 -05:00
Derrick Hammer 8797460bf8
refactor: revert to using http.StripPrefix 2024-01-25 09:23:23 -05:00
Derrick Hammer 14d8760c1f
fix: pass name to http.ServeContent 2024-01-24 19:23:42 -05:00
Derrick Hammer bf15faf33f
feat: need else on hash check 2024-01-24 19:10:19 -05:00
Derrick Hammer bf25d7bfda
feat: use new file abstraction and use http.ServeContent 2024-01-24 19:08:13 -05:00
Derrick Hammer 95b57cffc0
fix: handle both cid and base64url hash 2024-01-24 17:15:21 -05:00
Derrick Hammer 562742fd8e
fix: disable auth for downloads temporarily 2024-01-24 17:07:50 -05:00
Derrick Hammer 523286df32
fix: use MaxUint32 2024-01-24 12:51:19 -05:00
Derrick Hammer 60c905181c
fix: manually encode list 2024-01-24 12:34:50 -05:00
Derrick Hammer c976ec31be
fix: create an AccountPinResponse with a custom msgpack encoder 2024-01-24 12:29:25 -05:00
Derrick Hammer b3f8b483db
Revert "debug: revert prefix hack"
This reverts commit 9002064937.
2024-01-24 09:51:13 -05:00
Derrick Hammer 9002064937
debug: revert prefix hack 2024-01-24 09:34:05 -05:00
Derrick Hammer a4137102e6
fix: import cycle 2024-01-24 03:36:03 -05:00
Derrick Hammer 6a2b1b4a9b
feat: implement provider store 2024-01-24 03:28:47 -05:00
Derrick Hammer 22eacc4af1
feat: implement /s5/download/:cid 2024-01-24 01:27:05 -05:00
Derrick Hammer 35cd041978
fix: can't use JapeMiddlewareFunc in type switch to cast 2024-01-22 17:06:39 -05:00
Derrick Hammer 2020a9f1d1
fix: change HttpMiddlewareFunc to not have a variable name 2024-01-22 17:03:54 -05:00
Derrick Hammer 6402410d75
fix: use HttpMiddlewareFunc 2024-01-22 17:00:57 -05:00
Derrick Hammer 2cc600b78b
fix: api routes need to use ApplyMiddlewares 2024-01-22 16:59:14 -05:00
Derrick Hammer 527334f829
refactor: create generic AdaptMiddleware factory and change ApplyMiddlewares to take interfaces and handle multiple situations 2024-01-22 16:50:03 -05:00
Derrick Hammer 60e917120d
fix: only add slash if path is empty 2024-01-20 10:37:33 -05:00
Derrick Hammer c5b0865977
fix: need to create a custom version of strip prefix that appends a trailing slash for the router 2024-01-20 10:33:18 -05:00
Derrick Hammer 75e7ba00cd
fix: query needs to be manually built and re-encoded 2024-01-20 08:22:51 -05:00
Derrick Hammer 07c36109d8
refactor: move strip prefix to be last 2024-01-20 08:15:27 -05:00
Derrick Hammer 24e841ae97
fix: use new copy of request 2024-01-20 08:13:17 -05:00
Derrick Hammer a1e7cda659
refactor: move injectJwt to be processed after authMiddlewareFunc 2024-01-20 08:12:50 -05:00
Derrick Hammer 9bf10b19bf
refactor: add current request to tusJwtResponseWriter 2024-01-20 08:12:30 -05:00
Derrick Hammer 73fa265939
feat: implement tusJwtResponseWriter WriteHeader 2024-01-20 08:06:50 -05:00
Derrick Hammer a56fa20b6d
refactor: split findAuthToken to parseAuthTokenHeader 2024-01-20 08:03:26 -05:00
Derrick Hammer 1d1c552a0a
refactor: explicitly check the path and only for post 2024-01-20 07:57:09 -05:00
Derrick Hammer a2051acff1
feat: add initial tusJwtResponseWriter bones so we can append the auth_token to tus urls 2024-01-20 07:54:24 -05:00
Derrick Hammer b50c6c9f85
fix: dont put leading slash in prefix 2024-01-20 06:03:07 -05:00
Derrick Hammer 43e52e1ae1
fix: wrong prefix 2024-01-20 06:01:42 -05:00
Derrick Hammer fdef217078
fix: need to add a strip prefix middleware 2024-01-20 05:50:54 -05:00
Derrick Hammer fba3ee4213
fix: we don't need to wrap the tus middleware as NewHandler does it for us 2024-01-20 05:45:13 -05:00
Derrick Hammer 60c7cc5c6c
refactor: fix import cycles 2024-01-19 17:12:26 -05:00
Derrick Hammer 1f7c05434a
refactor: fix import cycles 2024-01-19 17:11:16 -05:00
Derrick Hammer 72219eb59c
feat: add tus endpoints 2024-01-19 17:08:55 -05:00
Derrick Hammer 2e64b56115
refactor: need to use middleware package 2024-01-19 17:08:05 -05:00
Derrick Hammer 5b1838a63b
feat: create tus api builder 2024-01-19 17:06:41 -05:00
Derrick Hammer 26c28db1f2
feat: create ApplyMiddlewares helper 2024-01-19 17:05:18 -05:00
Derrick Hammer e9db71f3b8
refactor: move middleware to its own package to prevent import cycles 2024-01-19 17:04:25 -05:00
Derrick Hammer 2c30477465
refactor: update putfile and gethash call names 2024-01-19 15:52:26 -05:00
Derrick Hammer 8044591697
feat: support auth in header, cookie, and query arg 2024-01-18 20:56:49 -05:00
Derrick Hammer 82f34726d6
debug: add logging 2024-01-18 14:38:15 -05:00
Derrick Hammer 12de0342f5
debug: add logging 2024-01-18 14:28:32 -05:00
Derrick Hammer 8161d36f0e
fix: bad response for existing file 2024-01-18 13:53:04 -05:00
Derrick Hammer 677635aa08
refactor: remove auth from metadata endpoint 2024-01-18 12:18:45 -05:00
Derrick Hammer f957ef5d78
feat: implement /s5/metadata/:cid 2024-01-17 22:19:42 -05:00
Derrick Hammer 510a57162c
feat: implement /s5/debug/storage_locations/:hash 2024-01-17 22:02:36 -05:00
Derrick Hammer 0c88e80a66
feat: implement /s5/blob/:cid 2024-01-17 21:23:33 -05:00
Derrick Hammer dfd03673c9
fix: pin the file if it exists 2024-01-17 17:21:15 -05:00
Derrick Hammer 7fde67aea5
fix: use PinByID and pin after creating the upload 2024-01-17 17:16:12 -05:00
Derrick Hammer b3e1840fac
fix: missing http verb 2024-01-17 16:59:53 -05:00
Derrick Hammer 72c3167e5f
feat: implement POST /s5/registry/subscription 2024-01-17 16:46:13 -05:00
Derrick Hammer acb9604b02
feat: implement POST /s5/registry 2024-01-17 16:20:51 -05:00
Derrick Hammer cde3f90d2d
feat: implement GET /s5/registry 2024-01-17 16:05:31 -05:00
Derrick Hammer 7248570e6b
feat: implement /s5/debug/download_urls/:cid 2024-01-17 15:36:21 -05:00
Derrick Hammer c338a41efd
refactor: use CreateUpload 2024-01-17 14:49:35 -05:00
Derrick Hammer 5fec2f08ff
feat: implement /s5/upload/directory 2024-01-17 14:46:37 -05:00
Derrick Hammer 6a8a3c436a
feat: implement /s5/pin/:cid 2024-01-17 13:13:37 -05:00
Derrick Hammer 66dabf5150
feat: implement /s5/delete/:cid 2024-01-17 13:04:32 -05:00
Derrick Hammer a5cbb4c4fb
fix: tier to use AccountTier struct 2024-01-17 12:38:52 -05:00
Derrick Hammer 1cf2d9880c
feat: add /s5/account/pins.bin endpoint 2024-01-17 12:33:05 -05:00
Derrick Hammer cf422aef0e
feat: add /s5/account/stats endpoint 2024-01-17 12:03:08 -05:00
Derrick Hammer ef872bf344
feat: add /s5/account endpoint 2024-01-17 11:52:54 -05:00
Derrick Hammer 897fec75ad
fix: update use of CIDFromHash 2024-01-17 11:31:48 -05:00
Derrick Hammer 708bd82879
fix: need to seek to reset reader 2024-01-17 11:04:24 -05:00
Derrick Hammer 03f0d80ae5
fix: use AuthUserIDKey in context 2024-01-17 09:09:48 -05:00