| Index: lib/src/prism/components/prism-http.js
|
| diff --git a/lib/src/prism/components/prism-http.js b/lib/src/prism/components/prism-http.js
|
| index f94f6de9260f200a5a3519413a16f5443dc1136d..edddb406bf20ac7e318b973246ee51bbe056356b 100644
|
| --- a/lib/src/prism/components/prism-http.js
|
| +++ b/lib/src/prism/components/prism-http.js
|
| @@ -1,44 +1,50 @@
|
| Prism.languages.http = {
|
| - 'request-line': {
|
| - pattern: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/,
|
| - inside: {
|
| - // HTTP Verb
|
| - property: /^\b(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,
|
| - // Path or query argument
|
| - 'attr-name': /:\w+/
|
| - }
|
| - },
|
| - 'response-status': {
|
| - pattern: /^HTTP\/1.[01] [0-9]+.*/,
|
| - inside: {
|
| - // Status, e.g. 200 OK
|
| - property: /[0-9]+[A-Z\s-]+$/i
|
| - }
|
| - },
|
| - // HTTP header name
|
| - keyword: /^[\w-]+:(?=.+)/m
|
| + 'request-line': {
|
| + pattern: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/m,
|
| + inside: {
|
| + // HTTP Verb
|
| + property: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,
|
| + // Path or query argument
|
| + 'attr-name': /:\w+/
|
| + }
|
| + },
|
| + 'response-status': {
|
| + pattern: /^HTTP\/1.[01] [0-9]+.*/m,
|
| + inside: {
|
| + // Status, e.g. 200 OK
|
| + property: {
|
| + pattern: /(^HTTP\/1.[01] )[0-9]+.*/i,
|
| + lookbehind: true
|
| + }
|
| + }
|
| + },
|
| + // HTTP header name
|
| + 'header-name': {
|
| + pattern: /^[\w-]+:(?=.)/m,
|
| + alias: 'keyword'
|
| + }
|
| };
|
|
|
| // 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
|
| + '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]*', 'i'),
|
| - lookbehind: true,
|
| - inside: {
|
| - rest: httpLanguages[contentType]
|
| - }
|
| - };
|
| - Prism.languages.insertBefore('http', 'keyword', options);
|
| - }
|
| + if (httpLanguages[contentType]) {
|
| + var options = {};
|
| + options[contentType] = {
|
| + pattern: new RegExp('(content-type:\\s*' + contentType + '[\\w\\W]*?)(?:\\r?\\n|\\r){2}[\\w\\W]*', 'i'),
|
| + lookbehind: true,
|
| + inside: {
|
| + rest: httpLanguages[contentType]
|
| + }
|
| + };
|
| + Prism.languages.insertBefore('http', 'header-name', options);
|
| + }
|
| }
|
|
|