mirror of
				https://github.com/vlang/v.git
				synced 2023-08-10 21:13:21 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			V
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			V
		
	
	
	
	
	
| // Copyright (c) 2019-2020 Alexander Medvednikov. All rights reserved.
 | |
| // Use of this source code is governed by an MIT license
 | |
| // that can be found in the LICENSE file.
 | |
| module http
 | |
| 
 | |
| // The methods listed here are some of the most used ones, ordered by
 | |
| // commonality. A comprehensive list is available at:
 | |
| // https://www.iana.org/assignments/http-methods/http-methods.xhtml
 | |
| pub enum Method {
 | |
| 	get
 | |
| 	post
 | |
| 	put
 | |
| 	head
 | |
| 	delete
 | |
| 	options
 | |
| 	trace
 | |
| 	connect
 | |
| 	patch
 | |
| }
 | |
| 
 | |
| pub fn (m Method) str() string {
 | |
| 	return match m {
 | |
| 		.get { 'GET' }
 | |
| 		.post { 'POST' }
 | |
| 		.put { 'PUT' }
 | |
| 		.head { 'HEAD' }
 | |
| 		.delete { 'DELETE' }
 | |
| 		.options { 'OPTIONS' }
 | |
| 		.trace { 'TRACE' }
 | |
| 		.connect { 'CONNECT' }
 | |
| 		.patch { 'PATCH' }
 | |
| 	}
 | |
| }
 | |
| 
 | |
| pub fn method_from_str(m string) Method {
 | |
| 	return match m {
 | |
| 		'GET' { Method.get }
 | |
| 		'POST' { Method.post }
 | |
| 		'PUT' { Method.put }
 | |
| 		'HEAD' { Method.head }
 | |
| 		'DELETE' { Method.delete }
 | |
| 		'OPTIONS' { Method.options }
 | |
| 		'TRACE' { Method.trace }
 | |
| 		'CONNECT' { Method.connect }
 | |
| 		'PATCH' { Method.patch }
 | |
| 		else { Method.get } // should we default to GET?
 | |
| 	}
 | |
| }
 | 
