openUrl 関数が難解なので、簡単にするために Proxy 機能を取り除くことにした。

unknown: html => {"type":"html","value":"<!-- truncate -->","position":{"start":{"line":5,"column":1,"offset":48},"end":{"line":5,"column":18,"offset":65}}}

量は少ない。

> cloc --exclude-dir=docusaurus "--match-f=\.(c|h|cpp)$" src
SUM:                           142           3042           1542          37059

SUM:                           142           3034           1534          36820

proxy や認証で send recv が複数回発生するときに、 ステートを変えながら同じ関数を繰り返し通るところが難しかったので、 かなり簡単になった。

ついでに http/https 以外のプロトコルの残骸も削除

enum を消して分岐しないようにする。

enum UrlSchema {
  SCM_UNKNOWN,
  SCM_HTTP,
  // SCM_GOPHER, 
  // SCM_FTP,
  // SCM_FTPDIR,
  // SCM_LOCAL,
  SCM_LOCAL_CGI,
  // SCM_EXEC,
  // SCM_NNTP,
  // SCM_NNTP_GROUP,
  // SCM_NEWS,
  // SCM_NEWS_GROUP,
  SCM_DATA,
  // SCM_MAILTO,
  SCM_HTTPS,
  SCM_MISSING = 254,
};

// SUM:                           142           3033           1520          36705