mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:32:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.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().bytes_as_string_view().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().has_value() && !m_url.query()->is_empty()) {
 | |
|         builder.append('?');
 | |
|         // the query component
 | |
|         builder.append(*m_url.query());
 | |
|     }
 | |
|     return builder.to_deprecated_string();
 | |
| }
 | |
| 
 | |
| }
 | 
