text: Prism.languages.http = {
      'request-line': {
          pattern: /^(POST|GET|PUT|DELETE|OPTIONS)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/g,
          inside: {
              // HTTP Verb
              property: /^\b(POST|GET|PUT|DELETE|OPTIONS)\b/g,
              // Path or query argument
              'attr-name': /:\w+/g
          }
      },
      'response-status': {
          pattern: /^HTTP\/1.[01] [0-9]+.*/g,
          inside: {
              // Status, e.g. 200 OK
              property: /[0-9]+[A-Z\s-]+$/g
          }
      },
      // HTTP header name
      keyword: /^[\w-]+:(?=.+)/gm
  };
  
  // 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
  };
  
  // 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]*', 'gi'),
              lookbehind: true,
              inside: {
                  rest: httpLanguages[contentType]
              }
          };
          Prism.languages.insertBefore('http', 'keyword', options);
      }
  }
  