1{"version":3,"sources":["../../node_modules/codemirror/mode/http/http.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","failFirstLine","stream","state","skipToEnd","cur","header","start","match","responseStatusCode","test","peek","requestPath","code","responseStatusText","status","Number","eatWhile","requestProtocol","sol","eat","body","token","eatSpace","blankLine","startState","defineMIME"],"mappings":"CAGA,SAAUA,GACR,SAAWC,UAAW,gBAAmBC,SAAU,SACjDF,EAAIG,QAAQ,6BACT,UAAWC,SAAU,YAAcA,OAAOC,IAC7CD,QAAQ,wBAAyBJ,OAEjCA,GAAIM,cACL,SAASA,GACZ,YAEAA,GAAWC,WAAW,OAAQ,WAC5B,QAASC,GAAcC,EAAQC,GAC7BD,EAAOE,WACPD,GAAME,IAAMC,CACZ,OAAO,QAGT,QAASC,GAAML,EAAQC,GACrB,GAAID,EAAOM,MAAM,iBAAkB,CACjCL,EAAME,IAAMI,CACZ,OAAO,cACF,IAAIP,EAAOM,MAAM,YAAc,QAAQE,KAAKR,EAAOS,QAAS,CACjER,EAAME,IAAMO,CACZ,OAAO,cACF,CACL,MAAOX,GAAcC,EAAQC,IAIjC,QAASM,GAAmBP,EAAQC,GAClC,GAAIU,GAAOX,EAAOM,MAAM,OACxB,KAAKK,EAAM,MAAOZ,GAAcC,EAAQC,EAExCA,GAAME,IAAMS,CACZ,IAAIC,GAASC,OAAOH,EAAK,GACzB,IAAIE,GAAU,KAAOA,EAAS,IAAK,CACjC,MAAO,6BACF,IAAIA,GAAU,KAAOA,EAAS,IAAK,CACxC,MAAO,uBACF,IAAIA,GAAU,KAAOA,EAAS,IAAK,CACxC,MAAO,wBACF,IAAIA,GAAU,KAAOA,EAAS,IAAK,CACxC,MAAO,4BACF,IAAIA,GAAU,KAAOA,EAAS,IAAK,CACxC,MAAO,4BACF,CACL,MAAO,SAIX,QAASD,GAAmBZ,EAAQC,GAClCD,EAAOE,WACPD,GAAME,IAAMC,CACZ,OAAO,MAGT,QAASM,GAAYV,EAAQC,GAC3BD,EAAOe,SAAS,KAChBd,GAAME,IAAMa,CACZ,OAAO,WAGT,QAASA,GAAgBhB,EAAQC,GAC/B,GAAID,EAAOM,MAAM,kBAAmB,CAClCL,EAAME,IAAMC,CACZ,OAAO,cACF,CACL,MAAOL,GAAcC,EAAQC,IAIjC,QAASG,GAAOJ,GACd,GAAIA,EAAOiB,QAAUjB,EAAOkB,IAAI,SAAU,CACxC,GAAIlB,EAAOM,MAAM,SAAU,CACzB,MAAO,WACF,CACLN,EAAOE,WACP,OAAO,aAEJ,CACLF,EAAOE,WACP,OAAO,UAIX,QAASiB,GAAKnB,GACZA,EAAOE,WACP,OAAO,MAGT,OACEkB,MAAO,SAASpB,EAAQC,GACtB,GAAIE,GAAMF,EAAME,GAChB,IAAIA,GAAOC,GAAUD,GAAOgB,GAAQnB,EAAOqB,WAAY,MAAO,KAC9D,OAAOlB,GAAIH,EAAQC,IAGrBqB,UAAW,SAASrB,GAClBA,EAAME,IAAMgB,GAGdI,WAAY,WACV,OAAQpB,IAAKE,MAKnBR,GAAW2B,WAAW,eAAgB","file":"http.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"http\", function() {\n  function failFirstLine(stream, state) {\n    stream.skipToEnd();\n    state.cur = header;\n    return \"error\";\n  }\n\n  function start(stream, state) {\n    if (stream.match(/^HTTP\\/\\d\\.\\d/)) {\n      state.cur = responseStatusCode;\n      return \"keyword\";\n    } else if (stream.match(/^[A-Z]+/) && /[ \\t]/.test(stream.peek())) {\n      state.cur = requestPath;\n      return \"keyword\";\n    } else {\n      return failFirstLine(stream, state);\n    }\n  }\n\n  function responseStatusCode(stream, state) {\n    var code = stream.match(/^\\d+/);\n    if (!code) return failFirstLine(stream, state);\n\n    state.cur = responseStatusText;\n    var status = Number(code[0]);\n    if (status >= 100 && status < 200) {\n      return \"positive informational\";\n    } else if (status >= 200 && status < 300) {\n      return \"positive success\";\n    } else if (status >= 300 && status < 400) {\n      return \"positive redirect\";\n    } else if (status >= 400 && status < 500) {\n      return \"negative client-error\";\n    } else if (status >= 500 && status < 600) {\n      return \"negative server-error\";\n    } else {\n      return \"error\";\n    }\n  }\n\n  function responseStatusText(stream, state) {\n    stream.skipToEnd();\n    state.cur = header;\n    return null;\n  }\n\n  function requestPath(stream, state) {\n    stream.eatWhile(/\\S/);\n    state.cur = requestProtocol;\n    return \"string-2\";\n  }\n\n  function requestProtocol(stream, state) {\n    if (stream.match(/^HTTP\\/\\d\\.\\d$/)) {\n      state.cur = header;\n      return \"keyword\";\n    } else {\n      return failFirstLine(stream, state);\n    }\n  }\n\n  function header(stream) {\n    if (stream.sol() && !stream.eat(/[ \\t]/)) {\n      if (stream.match(/^.*?:/)) {\n        return \"atom\";\n      } else {\n        stream.skipToEnd();\n        return \"error\";\n      }\n    } else {\n      stream.skipToEnd();\n      return \"string\";\n    }\n  }\n\n  function body(stream) {\n    stream.skipToEnd();\n    return null;\n  }\n\n  return {\n    token: function(stream, state) {\n      var cur = state.cur;\n      if (cur != header && cur != body && stream.eatSpace()) return null;\n      return cur(stream, state);\n    },\n\n    blankLine: function(state) {\n      state.cur = body;\n    },\n\n    startState: function() {\n      return {cur: start};\n    }\n  };\n});\n\nCodeMirror.defineMIME(\"message/http\", \"http\");\n\n});\n"]}