parse-community / parse-community/parse-server-s3-adapter
Returning wrong file name
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 80
- Forks
- 86
- PR merge metrics
- No merged PRs in 30d
Description
Assuming the following configuration:
new ParseServer({
preserveFileName: true,
filesAdapter: {
module: '@parse/s3-files-adapter'.
options: {
directAccess: false,
validateFilename(filename: string) { return null }
}
})
And that it has a file saved with the following name: folder/bar-bar.jpg.
When I retrieve the file URL, the getFileLocation function returns: https://<MOUNT_PATH>/files/<APP_ID>/folder/bar-bar.jpg. However, this URL causes the parse-server to return an error: HTTP 403 - {"error":"unauthorized"}
The correct URL that should be returned is: https://<MOUNT_PATH>/files/<APP_ID>/folder%2Fbar-bar.jpg
I would like to know how you would like to solve this problem? Since the response may behave differently when directAccess is true or false.
Note: I encountered this problem while doing some tests with my PR https://github.com/parse-community/parse-server-s3-adapter/pull/117.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the getFileLocation function and review the behavior described in pull request 117. Compare URL generation when directAccess is true versus false, including filenames containing folder separators; done means the returned URL is correctly encoded and no longer produces the reported 403 response.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, javascript
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100