11use re_log_types:: StoreId ;
22
3- use crate :: { Error , Fragment , Origin , RedapUri , TimeSelection } ;
3+ use crate :: { EndpointAddr , Error , Fragment , RedapUri , TimeSelection } ;
44
55/// URI pointing at the data underlying a dataset.
66///
@@ -11,8 +11,7 @@ use crate::{Error, Fragment, Origin, RedapUri, TimeSelection};
1111/// In the future we will add richer queries.
1212#[ derive( Clone , Debug , PartialEq , Eq , Hash ) ]
1313pub struct DatasetPartitionUri {
14- pub origin : Origin ,
15- pub prefix : String ,
14+ pub endpoint_addr : EndpointAddr ,
1615 pub dataset_id : re_tuid:: Tuid ,
1716
1817 // Query parameters: these affect what data is returned.
@@ -26,22 +25,26 @@ pub struct DatasetPartitionUri {
2625
2726impl std:: fmt:: Display for DatasetPartitionUri {
2827 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
29- write ! (
30- f,
31- "{}{}/dataset/{}" ,
32- self . origin, self . prefix, self . dataset_id
33- ) ?;
28+ let Self {
29+ endpoint_addr,
30+ dataset_id,
31+ partition_id,
32+ time_range,
33+ fragment,
34+ } = self ;
35+
36+ write ! ( f, "{endpoint_addr}/dataset/{dataset_id}" ) ?;
3437
3538 // ?query:
3639 {
37- write ! ( f, "?partition_id={}" , self . partition_id ) ?;
40+ write ! ( f, "?partition_id={partition_id}" ) ?;
3841 }
39- if let Some ( time_range) = & self . time_range {
42+ if let Some ( time_range) = time_range {
4043 write ! ( f, "&time_range={time_range}" ) ?;
4144 }
4245
4346 // #fragment:
44- let fragment = self . fragment . to_string ( ) ;
47+ let fragment = fragment. to_string ( ) ;
4548 if !fragment. is_empty ( ) {
4649 write ! ( f, "#{fragment}" ) ?;
4750 }
@@ -52,8 +55,7 @@ impl std::fmt::Display for DatasetPartitionUri {
5255
5356impl DatasetPartitionUri {
5457 pub fn new (
55- origin : Origin ,
56- prefix : String ,
58+ endpoint_addr : EndpointAddr ,
5759 dataset_id : re_tuid:: Tuid ,
5860 url : & url:: Url ,
5961 ) -> Result < Self , Error > {
@@ -87,8 +89,7 @@ impl DatasetPartitionUri {
8789 }
8890
8991 Ok ( Self {
90- origin,
91- prefix,
92+ endpoint_addr,
9293 dataset_id,
9394 partition_id,
9495 time_range,
@@ -99,10 +100,9 @@ impl DatasetPartitionUri {
99100 /// Returns [`Self`] without any (optional) `?query` or `#fragment`.
100101 pub fn without_query_and_fragment ( mut self ) -> Self {
101102 let Self {
102- origin : _, // Mandatory
103- prefix : _, // Mandatory
104- dataset_id : _, // Mandatory
105- partition_id : _, // Mandatory
103+ endpoint_addr : _, // Mandatory
104+ dataset_id : _, // Mandatory
105+ partition_id : _, // Mandatory
106106 time_range,
107107 fragment,
108108 } = & mut self ;
@@ -116,10 +116,9 @@ impl DatasetPartitionUri {
116116 /// Returns [`Self`] without any (optional) `#fragment`.
117117 pub fn without_fragment ( mut self ) -> Self {
118118 let Self {
119- origin : _, // Mandatory
120- prefix : _, // Mandatory
121- dataset_id : _, // Mandatory
122- partition_id : _, // Mandatory
119+ endpoint_addr : _, // Mandatory
120+ dataset_id : _, // Mandatory
121+ partition_id : _, // Mandatory
123122 time_range : _,
124123 fragment,
125124 } = & mut self ;
0 commit comments