owncloud / owncloud/ocis

Some request on `/app/open` endpoint returns `500` status code

Open
#9,928 7 comments 0 reactions 0 assignees View on GitHub
Type:Bug
Dominant language
Go
Stars
2.1k
Forks
274
Avg merge
2d 1h
Merged PRs (30d)
103

Description

## Describe the bug
1. Sending `POST` request on the `/app/open/` endpoint for text file without `app_name` query parameter, returns `500` status code.

2. We get the same response when requesting with unsupported file formats and for the endpoints:
- `/app/open?file_id={file_id}`
- `/app/open?file_id={file_id}&app_name=FakeOffice`
- `/app/open-with-web?file_id={file_id}`
- `/app/open-with-web?file_id={file_id}&app_name=FakeOffice`

## Steps to reproduce
1. Create a text file `textfile.txt`
2. Send `POST` request
```
curl -kv -XPOST -ueinstein:relativity "https://host.docker.internal:9200/app/open?file_id={file_id}" | jq

```
We get the following response:
```
< HTTP/1.1 500 Internal Server Error
< Content-Length: 134
< Content-Security-Policy: child-src 'self'; connect-src 'self' https://raw.githubusercontent.com/owncloud/awesome-ocis/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/ http://host.docker.internal:8080/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/ http://host.docker.internal:8080/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'
< Content-Type: application/json
< Date: Wed, 28 Aug 2024 04:52:49 GMT
< Referrer-Policy: strict-origin-when-cross-origin
< Strict-Transport-Security: max-age=315360000; preload
< Vary: Origin
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< X-Permitted-Cross-Domain-Policies: none
< X-Request-Id: 1e726966028a/3wKHavZGzb-000286
< X-Robots-Tag: none
< X-Xss-Protection: 1; mode=block
<
{ [134 bytes data]
100 134 100 134 0 0 4262 0 --:--:-- --:--:-- --:--:-- 4322
* Connection #0 to host host.docker.internal left intact
{
"code": "SERVER_ERROR",
"message": "Error contacting the requested application, please use a different one or try again later"
}

```

## Expected behavior
The error message seems fine, but the status code can be `503` indicating `Service is unavailable`.

## Actual behavior
The response returns `500` status code which indicates `internal Server Error`.

cc @jvillafanez

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.