tibi-docs/.yarn/unplugged/highlight.js-npm-9.18.5-571500f48d/node_modules/highlight.js/lib/languages/accesslog.js
2022-11-02 06:40:25 +00:00

64 lines
1.5 KiB
JavaScript

module.exports = 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 {
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
}
]
};
};