mirror of
https://git.asonix.dog/asonix/pict-rs
synced 2024-11-20 11:21:14 +00:00
Add release document, use .extend rather than .join
This commit is contained in:
parent
4591aa3e11
commit
9ed90efed4
3 changed files with 40 additions and 8 deletions
|
@ -674,9 +674,4 @@ client_timeout = 30
|
||||||
# Note that in order for clients to fetch media from this URL directly, any server between the
|
# Note that in order for clients to fetch media from this URL directly, any server between the
|
||||||
# client and pict-rs must not be configured to follow redirects, or else that server will fetch from
|
# client and pict-rs must not be configured to follow redirects, or else that server will fetch from
|
||||||
# this public URL and serve the file itself.
|
# this public URL and serve the file itself.
|
||||||
#
|
|
||||||
# Note also that if a a path is to be included in the URL, it must have a trailing slash or else it
|
|
||||||
# will be overwritten by the filepath.
|
|
||||||
# e.g. https://example.com/sub/path will turn into https://example.com/sub/001/001/UUID
|
|
||||||
# while https://example.com/sub/path/ will turn into https://example.com/sub/path/001/001/UUID
|
|
||||||
public_endpoint = "https://pict-rs.some.cdn.example.com/subpath/"
|
public_endpoint = "https://pict-rs.some.cdn.example.com/subpath/"
|
||||||
|
|
32
releases/0.5.1.md
Normal file
32
releases/0.5.1.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# pict-rs 0.5.1
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Just a quick point release to better support different public_endpoint usecases. Including paths for
|
||||||
|
the public_endpoint configuration is now supported.
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
- [Support Paths in PUBLIC_ENDPOINT](#support-paths-in-public-endpoints)
|
||||||
|
|
||||||
|
|
||||||
|
## Upgrade Notes
|
||||||
|
|
||||||
|
There's no significant changes from 0.5.0, so upgrading should be as simple as pulling a new version
|
||||||
|
of pict-rs.
|
||||||
|
|
||||||
|
|
||||||
|
## Descriptions
|
||||||
|
|
||||||
|
### Support Paths in PUBLIC_ENDPOINT
|
||||||
|
|
||||||
|
The `public_endpoint` configuration option for object storage has been updated to allow setting
|
||||||
|
paths at which the files are available. Previously any set path would be overridden, treating the
|
||||||
|
file's relative path as it's absolute path. Now pict-rs will serve files respecting configured
|
||||||
|
paths.
|
||||||
|
|
||||||
|
Example
|
||||||
|
```toml
|
||||||
|
public_endpoint = "https://example.com/sub/path"
|
||||||
|
```
|
||||||
|
This will produce URLs to `https://example.com/sub/path/$filepath`
|
|
@ -403,9 +403,14 @@ impl Store for ObjectStore {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn public_url(&self, identifier: &Arc<str>) -> Option<url::Url> {
|
fn public_url(&self, identifier: &Arc<str>) -> Option<url::Url> {
|
||||||
self.public_endpoint
|
self.public_endpoint.clone().and_then(|mut endpoint| {
|
||||||
.as_ref()
|
endpoint
|
||||||
.and_then(|endpoint| endpoint.join(identifier.as_ref()).ok())
|
.path_segments_mut()
|
||||||
|
.ok()?
|
||||||
|
.pop_if_empty()
|
||||||
|
.extend(identifier.as_ref().split('/'));
|
||||||
|
Some(endpoint)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip(self))]
|
#[tracing::instrument(skip(self))]
|
||||||
|
|
Loading…
Reference in a new issue