summaryrefslogtreecommitdiffstats
path: root/vendor/gitlab.com/golang-commonmark/mdurl/encode.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gitlab.com/golang-commonmark/mdurl/encode.go')
-rw-r--r--vendor/gitlab.com/golang-commonmark/mdurl/encode.go53
1 files changed, 0 insertions, 53 deletions
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/encode.go b/vendor/gitlab.com/golang-commonmark/mdurl/encode.go
deleted file mode 100644
index 5596e8d3..00000000
--- a/vendor/gitlab.com/golang-commonmark/mdurl/encode.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2015 The Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package mdurl
-
-import (
- "bytes"
- "strings"
- "unicode/utf8"
-)
-
-// Encode percent-encodes rawurl, avoiding double encoding.
-// It doesn't touch:
-// - alphanumeric characters ([0-9a-zA-Z]);
-// - percent-encoded characters (%[0-9a-fA-F]{2});
-// - excluded characters ([;/?:@&=+$,-_.!~*'()#]).
-// Invalid UTF-8 sequences are replaced with U+FFFD.
-func Encode(rawurl string) string {
- const hexdigit = "0123456789ABCDEF"
- var buf bytes.Buffer
- i := 0
- for i < len(rawurl) {
- r, rlen := utf8.DecodeRuneInString(rawurl[i:])
- if r >= 0x80 {
- for j, n := i, i+rlen; j < n; j++ {
- b := rawurl[j]
- buf.WriteByte('%')
- buf.WriteByte(hexdigit[(b>>4)&0xf])
- buf.WriteByte(hexdigit[b&0xf])
- }
- } else if r == '%' {
- if i+2 < len(rawurl) &&
- hexDigit(rawurl[i+1]) &&
- hexDigit(rawurl[i+2]) {
- buf.WriteByte('%')
- buf.WriteByte(byteToUpper(rawurl[i+1]))
- buf.WriteByte(byteToUpper(rawurl[i+2]))
- i += 2
- } else {
- buf.WriteString("%25")
- }
- } else if strings.IndexByte("!#$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~", byte(r)) == -1 {
- buf.WriteByte('%')
- buf.WriteByte(hexdigit[(r>>4)&0xf])
- buf.WriteByte(hexdigit[r&0xf])
- } else {
- buf.WriteByte(byte(r))
- }
- i += rlen
- }
- return buf.String()
-}