- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
98 lines
2 KiB
JavaScript
98 lines
2 KiB
JavaScript
/*
|
|
Language: HTTP
|
|
Description: HTTP request and response headers with automatic body highlighting
|
|
Author: Ivan Sagalaev <maniac@softwaremaniacs.org>
|
|
Category: protocols, web
|
|
Website: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
|
|
*/
|
|
|
|
function http(hljs) {
|
|
const regex = hljs.regex;
|
|
const VERSION = 'HTTP/([32]|1\\.[01])';
|
|
const HEADER_NAME = /[A-Za-z][A-Za-z0-9-]*/;
|
|
const HEADER = {
|
|
className: 'attribute',
|
|
begin: regex.concat('^', HEADER_NAME, '(?=\\:\\s)'),
|
|
starts: { contains: [
|
|
{
|
|
className: "punctuation",
|
|
begin: /: /,
|
|
relevance: 0,
|
|
starts: {
|
|
end: '$',
|
|
relevance: 0
|
|
}
|
|
}
|
|
] }
|
|
};
|
|
const HEADERS_AND_BODY = [
|
|
HEADER,
|
|
{
|
|
begin: '\\n\\n',
|
|
starts: {
|
|
subLanguage: [],
|
|
endsWithParent: true
|
|
}
|
|
}
|
|
];
|
|
|
|
return {
|
|
name: 'HTTP',
|
|
aliases: [ 'https' ],
|
|
illegal: /\S/,
|
|
contains: [
|
|
// response
|
|
{
|
|
begin: '^(?=' + VERSION + " \\d{3})",
|
|
end: /$/,
|
|
contains: [
|
|
{
|
|
className: "meta",
|
|
begin: VERSION
|
|
},
|
|
{
|
|
className: 'number',
|
|
begin: '\\b\\d{3}\\b'
|
|
}
|
|
],
|
|
starts: {
|
|
end: /\b\B/,
|
|
illegal: /\S/,
|
|
contains: HEADERS_AND_BODY
|
|
}
|
|
},
|
|
// request
|
|
{
|
|
begin: '(?=^[A-Z]+ (.*?) ' + VERSION + '$)',
|
|
end: /$/,
|
|
contains: [
|
|
{
|
|
className: 'string',
|
|
begin: ' ',
|
|
end: ' ',
|
|
excludeBegin: true,
|
|
excludeEnd: true
|
|
},
|
|
{
|
|
className: "meta",
|
|
begin: VERSION
|
|
},
|
|
{
|
|
className: 'keyword',
|
|
begin: '[A-Z]+'
|
|
}
|
|
],
|
|
starts: {
|
|
end: /\b\B/,
|
|
illegal: /\S/,
|
|
contains: HEADERS_AND_BODY
|
|
}
|
|
},
|
|
// to allow headers to work even without a preamble
|
|
hljs.inherit(HEADER, { relevance: 0 })
|
|
]
|
|
};
|
|
}
|
|
|
|
export { http as default };
|