1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-08 16:36:15 +00:00
Jan Korf d533557324
Websocket refactoring (#190)
Websocket refactoring
2024-02-24 19:21:47 +01:00

73 lines
1.7 KiB
JavaScript

/*
Language: Apache Access Log
Author: Oleg Efimov <efimovov@gmail.com>
Description: Apache/Nginx Access Logs
Website: https://httpd.apache.org/docs/2.4/logs.html#accesslog
*/
export default function(hljs) {
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
var HTTP_VERBS = [
"GET", "POST", "HEAD", "PUT", "DELETE", "CONNECT", "OPTIONS", "PATCH", "TRACE"
]
return {
name: 'Apache Access Log',
contains: [
// IP
{
className: 'number',
begin: '^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b',
relevance:5
},
// Other numbers
{
className: 'number',
begin: '\\b\\d+\\b',
relevance: 0
},
// Requests
{
className: 'string',
begin: '"(' + HTTP_VERBS.join("|") + ')', end: '"',
keywords: HTTP_VERBS.join(" "),
illegal: '\\n',
relevance: 5,
contains: [{
begin: 'HTTP/[12]\\.\\d',
relevance:5
}]
},
// Dates
{
className: 'string',
// dates must have a certain length, this prevents matching
// simple array accesses a[123] and [] and other common patterns
// found in other languages
begin: /\[\d[^\]\n]{8,}\]/,
illegal: '\\n',
relevance: 1
},
{
className: 'string',
begin: /\[/, end: /\]/,
illegal: '\\n',
relevance: 0
},
// User agent / relevance boost
{
className: 'string',
begin: '"Mozilla/\\d\\.\\d \\\(', end: '"',
illegal: '\\n',
relevance: 3
},
// Strings
{
className: 'string',
begin: '"', end: '"',
illegal: '\\n',
relevance: 0
}
]
};
}