mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-30 17:42:45 +00:00 
			
		
		
		
	 c8585b77d2
			
		
	
	
		c8585b77d2
		
	
	
	
	
		
			
			This prevents us from needing a sv suffix, and potentially reduces the need to run generic code for a single character (as contains, starts_with, ends_with etc. for a char will be just a length and equality check). No functional changes.
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1,014 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1,014 B
		
	
	
	
		
			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.protocol().equals_ignoring_case("wss"sv);
 | |
| }
 | |
| 
 | |
| String 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
 | |
|     if (m_url.path().is_empty())
 | |
|         builder.append('/');
 | |
|     // The path component
 | |
|     builder.append(m_url.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_string();
 | |
| }
 | |
| 
 | |
| }
 |