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); |
+ } |
} |