at backyard

Color my life with the chaos of trouble.

書き初め代わりに2018を🐶🐶🐶🐶に変換するコンテンツフィルタを書こうとした(未完)

今年は戌年なので、書き初め代わりに2018を🐶🐶🐶🐶に変換するコンテンツフィルタを書こうとしました。
手元のポート8080でproxy serverとして動くので、ブラウザのネットワークプロキシ設定でlocalhost:8080を設定すると、取得したコンテンツ内の2018の文字が🐶🐶🐶🐶に変換されます。

f:id:shinshin86:20180101080818p:plain

上はABC Newsのトップページの一部分。
このプロキシサーバを通すことで下記のように変換されます。

f:id:shinshin86:20180101081107p:plain

書き初め代わりにちゃちゃっと書いてやろうと意気込んで書き始めたのですが、実際に動かすと落ちます。。。
落ちないように今後修正していこうと思います。
ソースは下記↓

package main

import (
    "bytes"
    "github.com/elazarl/goproxy"
    "io/ioutil"
    "log"
    "net/http"
    "strings"
)

func main() {
    proxy := goproxy.NewProxyHttpServer()
    proxy.Verbose = true

    dogEmoji := "\U0001F436"
    println(dogEmoji)

    proxy.OnResponse().DoFunc(func(resp *http.Response, ctx *goproxy.ProxyCtx) *http.Response {
        body, err := ioutil.ReadAll(resp.Body)

        if err != nil {
            log.Fatal(err)
        }

        resp.Body.Close()

        b1 := strings.Replace(string(body), "2018", "\U0001F436\U0001F436\U0001F436\U0001F436", -1)
        resp.Body = ioutil.NopCloser(bytes.NewBufferString(b1))

        return resp
    })

    log.Fatal(http.ListenAndServe(":8080", proxy))
}

今年もよろしくお願いします。