mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:52:43 +00:00 
			
		
		
		
	 35612c6a7f
			
		
	
	
		35612c6a7f
		
	
	
	
	
		
			
			This now defaults to serializing the path with percent decoded segments (which is what all callers expect), but has an option not to. This fixes `file://` URLs with spaces in their paths. The name has been changed to serialize_path() path to make it more clear that this method will generate a new string each call (except for the cannot_be_a_base_url() case). A few callers have then been updated to avoid repeatedly calling this function.
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Dex♪ <dexes.ttp@gmail.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibWebSocket/ConnectionInfo.h>
 | |
| 
 | |
| namespace WebSocket {
 | |
| 
 | |
| ConnectionInfo::ConnectionInfo(URL url)
 | |
|     : m_url(move(url))
 | |
| {
 | |
| }
 | |
| 
 | |
| bool ConnectionInfo::is_secure() const
 | |
| {
 | |
|     // RFC 6455 Section 3 :
 | |
|     // The URI is called "secure" if the scheme component matches "wss" case-insensitively.
 | |
|     return m_url.scheme().equals_ignoring_ascii_case("wss"sv);
 | |
| }
 | |
| 
 | |
| DeprecatedString ConnectionInfo::resource_name() const
 | |
| {
 | |
|     // RFC 6455 Section 3 :
 | |
|     // The "resource-name" can be constructed by concatenating the following:
 | |
|     StringBuilder builder;
 | |
|     // "/" if the path component is empty
 | |
|     auto path = m_url.serialize_path();
 | |
|     if (path.is_empty())
 | |
|         builder.append('/');
 | |
|     // The path component
 | |
|     builder.append(path);
 | |
|     // "?" if the query component is non-empty
 | |
|     if (!m_url.query().is_empty())
 | |
|         builder.append('?');
 | |
|     // the query component
 | |
|     builder.append(m_url.query());
 | |
|     return builder.to_deprecated_string();
 | |
| }
 | |
| 
 | |
| }
 |