OLD | NEW |
1 Prism.languages.http = { | 1 Prism.languages.http = { |
2 'request-line': { | 2 » 'request-line': { |
3 pattern: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\
/\/\S+\sHTTP\/[0-9.]+/, | 3 » » pattern: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\s
https?:\/\/\S+\sHTTP\/[0-9.]+/m, |
4 inside: { | 4 » » inside: { |
5 // HTTP Verb | 5 » » » // HTTP Verb |
6 property: /^\b(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/, | 6 » » » property: /^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CON
NECT)\b/, |
7 // Path or query argument | 7 » » » // Path or query argument |
8 'attr-name': /:\w+/ | 8 » » » 'attr-name': /:\w+/ |
9 } | 9 » » } |
10 }, | 10 » }, |
11 'response-status': { | 11 » 'response-status': { |
12 pattern: /^HTTP\/1.[01] [0-9]+.*/, | 12 » » pattern: /^HTTP\/1.[01] [0-9]+.*/m, |
13 inside: { | 13 » » inside: { |
14 // Status, e.g. 200 OK | 14 » » » // Status, e.g. 200 OK |
15 property: /[0-9]+[A-Z\s-]+$/i | 15 » » » property: { |
16 } | 16 pattern: /(^HTTP\/1.[01] )[0-9]+.*/i, |
17 }, | 17 lookbehind: true |
18 // HTTP header name | 18 } |
19 keyword: /^[\w-]+:(?=.+)/m | 19 » » } |
| 20 » }, |
| 21 » // HTTP header name |
| 22 » 'header-name': { |
| 23 pattern: /^[\w-]+:(?=.)/m, |
| 24 alias: 'keyword' |
| 25 } |
20 }; | 26 }; |
21 | 27 |
22 // Create a mapping of Content-Type headers to language definitions | 28 // Create a mapping of Content-Type headers to language definitions |
23 var httpLanguages = { | 29 var httpLanguages = { |
24 'application/json': Prism.languages.javascript, | 30 » 'application/json': Prism.languages.javascript, |
25 'application/xml': Prism.languages.markup, | 31 » 'application/xml': Prism.languages.markup, |
26 'text/xml': Prism.languages.markup, | 32 » 'text/xml': Prism.languages.markup, |
27 'text/html': Prism.languages.markup | 33 » 'text/html': Prism.languages.markup |
28 }; | 34 }; |
29 | 35 |
30 // Insert each content type parser that has its associated language | 36 // Insert each content type parser that has its associated language |
31 // currently loaded. | 37 // currently loaded. |
32 for (var contentType in httpLanguages) { | 38 for (var contentType in httpLanguages) { |
33 if (httpLanguages[contentType]) { | 39 » if (httpLanguages[contentType]) { |
34 var options = {}; | 40 » » var options = {}; |
35 options[contentType] = { | 41 » » options[contentType] = { |
36 pattern: new RegExp('(content-type:\\s*' + contentType + '[\\w\\W]*?
)\\n\\n[\\w\\W]*', 'i'), | 42 » » » pattern: new RegExp('(content-type:\\s*' + contentType +
'[\\w\\W]*?)(?:\\r?\\n|\\r){2}[\\w\\W]*', 'i'), |
37 lookbehind: true, | 43 » » » lookbehind: true, |
38 inside: { | 44 » » » inside: { |
39 rest: httpLanguages[contentType] | 45 » » » » rest: httpLanguages[contentType] |
40 } | 46 » » » } |
41 }; | 47 » » }; |
42 Prism.languages.insertBefore('http', 'keyword', options); | 48 » » Prism.languages.insertBefore('http', 'header-name', options); |
43 } | 49 » } |
44 } | 50 } |
OLD | NEW |