Document parameters and return conditions.
This commit is contained in:
		
							parent
							
								
									4e7bc994eb
								
							
						
					
					
						commit
						935407c805
					
				| @ -64,7 +64,11 @@ static REFERENCE_HASH_FIELDS_TO_REMOVE: &[&str] = &["age_ts", "signatures", "uns | |||||||
| ///
 | ///
 | ||||||
| /// # Errors
 | /// # Errors
 | ||||||
| ///
 | ///
 | ||||||
| /// Returns an error if the JSON value is not a JSON object.
 | /// Returns an error if:
 | ||||||
|  | ///
 | ||||||
|  | /// * `value` is not a JSON object.
 | ||||||
|  | /// * `value` contains a field called `signatures` that is not a JSON object.
 | ||||||
|  | /// * `server_name` cannot be parsed as a valid host.
 | ||||||
| pub fn sign_json<K>(server_name: &str, key_pair: &K, value: &mut Value) -> Result<(), Error> | pub fn sign_json<K>(server_name: &str, key_pair: &K, value: &mut Value) -> Result<(), Error> | ||||||
| where | where | ||||||
|     K: KeyPair, |     K: KeyPair, | ||||||
| @ -160,6 +164,14 @@ where | |||||||
| ///
 | ///
 | ||||||
| /// The content hash of an event covers the complete event including the unredacted contents. It is
 | /// The content hash of an event covers the complete event including the unredacted contents. It is
 | ||||||
| /// used during federation and is described in the Matrix server-server specification.
 | /// used during federation and is described in the Matrix server-server specification.
 | ||||||
|  | ///
 | ||||||
|  | /// # Parameters
 | ||||||
|  | ///
 | ||||||
|  | /// value: A JSON object to generate a content hash for.
 | ||||||
|  | ///
 | ||||||
|  | /// # Errors
 | ||||||
|  | ///
 | ||||||
|  | /// Returns an error if the provided JSON value is not a JSON object.
 | ||||||
| pub fn content_hash(value: &Value) -> Result<String, Error> { | pub fn content_hash(value: &Value) -> Result<String, Error> { | ||||||
|     let json = to_canonical_json_with_fields_to_remove(value, CONTENT_HASH_FIELDS_TO_REMOVE)?; |     let json = to_canonical_json_with_fields_to_remove(value, CONTENT_HASH_FIELDS_TO_REMOVE)?; | ||||||
| 
 | 
 | ||||||
| @ -175,6 +187,14 @@ pub fn content_hash(value: &Value) -> Result<String, Error> { | |||||||
| /// The reference hash of an event covers the essential fields of an event, including content
 | /// The reference hash of an event covers the essential fields of an event, including content
 | ||||||
| /// hashes. It is used to generate event identifiers and is described in the Matrix server-server
 | /// hashes. It is used to generate event identifiers and is described in the Matrix server-server
 | ||||||
| /// specification.
 | /// specification.
 | ||||||
|  | ///
 | ||||||
|  | /// # Parameters
 | ||||||
|  | ///
 | ||||||
|  | /// value: A JSON object to generate a reference hash for.
 | ||||||
|  | ///
 | ||||||
|  | /// # Errors
 | ||||||
|  | ///
 | ||||||
|  | /// Returns an error if the provided JSON value is not a JSON object.
 | ||||||
| pub fn reference_hash(value: &Value) -> Result<String, Error> { | pub fn reference_hash(value: &Value) -> Result<String, Error> { | ||||||
|     let redacted_value = redact(value)?; |     let redacted_value = redact(value)?; | ||||||
| 
 | 
 | ||||||
| @ -197,6 +217,17 @@ pub fn reference_hash(value: &Value) -> Result<String, Error> { | |||||||
| /// * server_name: The hostname or IP of the homeserver, e.g. `example.com`.
 | /// * server_name: The hostname or IP of the homeserver, e.g. `example.com`.
 | ||||||
| /// * key_pair: A cryptographic key pair used to sign the event.
 | /// * key_pair: A cryptographic key pair used to sign the event.
 | ||||||
| /// * value: A JSON object to be hashed and signed according to the Matrix specification.
 | /// * value: A JSON object to be hashed and signed according to the Matrix specification.
 | ||||||
|  | ///
 | ||||||
|  | /// # Errors
 | ||||||
|  | ///
 | ||||||
|  | /// Returns an error if:
 | ||||||
|  | ///
 | ||||||
|  | /// * `value` is not a JSON object.
 | ||||||
|  | /// * `value` contains a field called `content` that is not a JSON object.
 | ||||||
|  | /// * `value` contains a field called `hashes` that is not a JSON object.
 | ||||||
|  | /// * `value` contains a field called `signatures` that is not a JSON object.
 | ||||||
|  | /// * `value` is missing the `type` field or the field is not a JSON string.
 | ||||||
|  | /// * `server_name` cannot be parsed as a valid host.
 | ||||||
| pub fn hash_and_sign_event<K>( | pub fn hash_and_sign_event<K>( | ||||||
|     server_name: &str, |     server_name: &str, | ||||||
|     key_pair: &K, |     key_pair: &K, | ||||||
|  | |||||||
| @ -137,6 +137,14 @@ impl SignatureMap { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /// Gets the given server's corresponding signature set for in-place manipulation.
 |     /// Gets the given server's corresponding signature set for in-place manipulation.
 | ||||||
|  |     ///
 | ||||||
|  |     /// # Parameters
 | ||||||
|  |     ///
 | ||||||
|  |     /// * server_name: The hostname or IP of the homeserver, e.g. `example.com`.
 | ||||||
|  |     ///
 | ||||||
|  |     /// # Errors
 | ||||||
|  |     ///
 | ||||||
|  |     /// Returns an error if the given server name cannot be parsed as a valid host.
 | ||||||
|     pub fn entry(&mut self, server_name: &str) -> Result<Entry<Host, SignatureSet>, Error> { |     pub fn entry(&mut self, server_name: &str) -> Result<Entry<Host, SignatureSet>, Error> { | ||||||
|         let host = server_name_to_host(server_name)?; |         let host = server_name_to_host(server_name)?; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user