| 13 | } |
| 14 | |
| 15 | func NewRewriter(reader io.Reader, mappings []Mapping) io.Reader { |
| 16 | transformers := []transform.Transformer{} |
| 17 | for _, mapping := range mappings { |
| 18 | if mapping.From == "" || mapping.To == "" { |
| 19 | continue |
| 20 | } else if mapping.From == "/" { |
| 21 | continue |
| 22 | } |
| 23 | |
| 24 | transformers = append(transformers, String(mapping.From, mapping.To)) |
| 25 | } |
| 26 | |
| 27 | return transform.NewReader(reader, transform.Chain(transformers...)) |
| 28 | } |
| 29 | |
| 30 | // Transformer replaces text in a stream |
| 31 | // See: http://golang.org/x/text/transform |