You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
| Prism.languages.http = {
 | |
|     'request-line': {
 | |
|         pattern: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/g,
 | |
|         inside: {
 | |
|             // HTTP Verb
 | |
|             property: /^\b(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/g,
 | |
|             // Path or query argument
 | |
|             'attr-name': /:\w+/g
 | |
|         }
 | |
|     },
 | |
|     'response-status': {
 | |
|         pattern: /^HTTP\/1.[01] [0-9]+.*/g,
 | |
|         inside: {
 | |
|             // Status, e.g. 200 OK
 | |
|             property: /[0-9]+[A-Z\s-]+$/ig
 | |
|         }
 | |
|     },
 | |
|     // HTTP header name
 | |
|     keyword: /^[\w-]+:(?=.+)/gm
 | |
| };
 | |
| 
 | |
| // Create a mapping of Content-Type headers to language definitions
 | |
| var httpLanguages = {
 | |
|     'application/json': Prism.languages.javascript,
 | |
|     'application/xml': Prism.languages.markup,
 | |
|     'text/xml': Prism.languages.markup,
 | |
|     'text/html': Prism.languages.markup
 | |
| };
 | |
| 
 | |
| // Insert each content type parser that has its associated language
 | |
| // currently loaded.
 | |
| for (var contentType in httpLanguages) {
 | |
|     if (httpLanguages[contentType]) {
 | |
|         var options = {};
 | |
|         options[contentType] = {
 | |
|             pattern: new RegExp('(content-type:\\s*' + contentType + '[\\w\\W]*?)\\n\\n[\\w\\W]*', 'gi'),
 | |
|             lookbehind: true,
 | |
|             inside: {
 | |
|                 rest: httpLanguages[contentType]
 | |
|             }
 | |
|         };
 | |
|         Prism.languages.insertBefore('http', 'keyword', options);
 | |
|     }
 | |
| }
 |