作者:Julianz
项目:gog
func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte {
ms := MentionPattern.FindAll(rawBytes, -1)
for _, m := range ms {
rawBytes = bytes.Replace(rawBytes, m,
[]byte(fmt.Sprintf(`<a href="/user/%s">%s</a>`, m[1:], m)), -1)
}
ms = commitPattern.FindAll(rawBytes, -1)
for _, m := range ms {
m = bytes.TrimSpace(m)
i := strings.Index(string(m), "commit/")
j := strings.Index(string(m), "#")
if j == -1 {
j = len(m)
}
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
` <code><a href="%s">%s</a></code>`, m, ShortSha(string(m[i+7:j])))), -1)
}
ms = issueFullPattern.FindAll(rawBytes, -1)
for _, m := range ms {
m = bytes.TrimSpace(m)
i := strings.Index(string(m), "issues/")
j := strings.Index(string(m), "#")
if j == -1 {
j = len(m)
}
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
` <a href="%s">#%s</a>`, m, ShortSha(string(m[i+7:j])))), -1)
}
ms = issueIndexPattern.FindAll(rawBytes, -1)
for _, m := range ms {
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
`<a href="%s/issues/%s">%s</a>`, urlPrefix, m[1:], m)), -1)
}
return rawBytes
}
作者:Carby
项目:iri
// Render a JSON response.
func (j JSON) Render(ctx *fasthttp.RequestCtx, v interface{}) error {
if j.StreamingJSON {
return j.renderStreamingJSON(ctx, v)
}
var result []byte
var err error
if j.Indent {
result, err = json.MarshalIndent(v, "", " ")
result = append(result, '\n')
} else {
result, err = json.Marshal(v)
}
if err != nil {
return err
}
// Unescape HTML if needed.
if j.UnEscapeHTML {
result = bytes.Replace(result, []byte("\\u003c"), []byte("<"), -1)
result = bytes.Replace(result, []byte("\\u003e"), []byte(">"), -1)
result = bytes.Replace(result, []byte("\\u0026"), []byte("&"), -1)
}
w := ctx.Response.BodyWriter()
// JSON marshaled fine, write out the result.
j.Head.Write(ctx)
if len(j.Prefix) > 0 {
w.Write(j.Prefix)
}
w.Write(result)
return nil
}
作者:gk-turni
项目:serve
func (fieldContext *FieldContextDef) doTerrainMap(websocketConnectionContext *websocketConnectionContextDef) *gkerr.GkErrDef {
var gkErr *gkerr.GkErrDef
var singleSession *ses.SingleSessionDef
singleSession = fieldContext.sessionContext.GetSessionFromId(websocketConnectionContext.sessionId)
var messageToClient *message.MessageToClientDef = new(message.MessageToClientDef)
messageToClient.Command = message.SetTerrainMapReq
var jsonFileName string = fieldContext.terrainSvgDir + string(os.PathSeparator) + "map_terrain_" + strconv.FormatInt(int64(singleSession.GetCurrentPodId()), 10) + ".json"
messageToClient.JsonData, gkErr = gkcommon.GetFileContents(jsonFileName)
if gkErr != nil {
return gkErr
}
var lf []byte = []byte("\n")
var tb []byte = []byte("\t")
var sp []byte = []byte(" ")
var nl []byte = []byte("")
var te []byte = []byte("errain")
var bj []byte = []byte("bject")
// Not typos
messageToClient.JsonData = bytes.Replace(messageToClient.JsonData, lf, nl, -1)
messageToClient.JsonData = bytes.Replace(messageToClient.JsonData, sp, nl, -1)
messageToClient.JsonData = bytes.Replace(messageToClient.JsonData, tb, nl, -1)
messageToClient.JsonData = bytes.Replace(messageToClient.JsonData, te, nl, -1)
messageToClient.JsonData = bytes.Replace(messageToClient.JsonData, bj, nl, -1)
fieldContext.queueMessageToClient(websocketConnectionContext.sessionId, messageToClient)
return nil
}
作者:achand
项目:g
func ExampleReplace() {
fmt.Printf("%s\n", bytes.Replace([]byte("oink oink oink"), []byte("k"), []byte("ky"), 2))
fmt.Printf("%s\n", bytes.Replace([]byte("oink oink oink"), []byte("oink"), []byte("moo"), -1))
// Output:
// oinky oinky oink
// moo moo moo
}
作者:nu7hatc
项目:egoista
func CountPinterestPins(r *Request) *Result {
var (
resp *http.Response
err error
feed pinterestFeed
body []byte
feedUrl = fmt.Sprintf(pinterestFeedUrl, r.Url())
)
if resp, err = http.Get(feedUrl); err != nil {
return Empty
}
if body, err = ioutil.ReadAll(resp.Body); err != nil {
return Empty
}
body = bytes.Replace(body, []byte("receiveCount("), nil, 1)
body = bytes.Replace(body, []byte(")"), nil, 1)
if err = json.Unmarshal([]byte(body), &feed); err != nil {
return Empty
}
return &Result{Points: feed.Count}
}
作者:thingalo
项目:code-finde
func writeTemplate() {
jsonWords := ""
nWords := len(foundWords)
wid := 0
for k, v := range foundWords {
if wid%100 == 0 {
fmt.Printf("compiling: %d / %d\n", wid, nWords)
}
wid++
jsonWords += fmt.Sprintf("\"%s\": [\n", k)
for _, w := range v {
jsonWords += fmt.Sprintf("\t[ %d, %d, %d ],\n", w.start, w.step, w.length)
}
jsonWords += "],\n"
}
template, err := gas.ReadFile("github.com/thingalon/code-finder/template.html")
if err != nil {
fmt.Println(err)
os.Exit(0)
}
template = bytes.Replace(template, []byte("[filename]"), []byte(os.Args[1]), 1)
template = bytes.Replace(template, []byte("[content]"), content, 1)
template = bytes.Replace(template, []byte("[words]"), []byte(jsonWords), 1)
outfile := os.Args[1] + ".html"
ioutil.WriteFile(outfile, template, 0644)
fmt.Println("Written to " + outfile)
}
作者:unrolle
项目:rende
// Render a JSON response.
func (j JSON) Render(w io.Writer, v interface{}) error {
if j.StreamingJSON {
return j.renderStreamingJSON(w, v)
}
var result []byte
var err error
if j.Indent {
result, err = json.MarshalIndent(v, "", " ")
result = append(result, '\n')
} else {
result, err = json.Marshal(v)
}
if err != nil {
return err
}
// Unescape HTML if needed.
if j.UnEscapeHTML {
result = bytes.Replace(result, []byte("\\u003c"), []byte("<"), -1)
result = bytes.Replace(result, []byte("\\u003e"), []byte(">"), -1)
result = bytes.Replace(result, []byte("\\u0026"), []byte("&"), -1)
}
// JSON marshaled fine, write out the result.
if hw, ok := w.(http.ResponseWriter); ok {
j.Head.Write(hw)
}
if len(j.Prefix) > 0 {
w.Write(j.Prefix)
}
w.Write(result)
return nil
}
作者:client
项目:gospel
func cleanupLine(s []byte) []byte {
// strip away various headings from back and front
s = leadingHeadline.ReplaceAll(s, nil)
s = trailingHeadline.ReplaceAll(s, nil)
// strip away leading "> > > " from block quotes
s = blockQuote.ReplaceAll(s, nil)
// is all "-", "=", "*", "|" make empty
// this eliminates various HR variations and
// table decoration and is not a word anyways
if allSymbols.Match(s) {
return []byte{}
}
s = simpleCode.ReplaceAll(s, nil)
// there is no reason to NOT replace `*` `~` or `_` with a space character
// not used in words
s = bytes.Replace(s, []byte{'*'}, nil, -1)
s = bytes.Replace(s, []byte{'~'}, nil, -1)
s = bytes.Replace(s, []byte{'_'}, nil, -1)
// links. [link](/MyURI)
// Stuff inside the "link" can be on different lines, but "](/URI)"
// is all on one line so we can delete ](....space )
// ![ is for images
s = bytes.Replace(s, []byte{'!', '['}, nil, -1)
s = bytes.Replace(s, []byte{'['}, nil, -1)
s = linkTarget.ReplaceAll(s, nil)
return s
}
作者:hbdl
项目:qml-
func processGlGo(dirName string) {
data, err := ioutil.ReadFile(dirName + "/gl.go")
if err != nil {
log.Fatal("ioutil.ReadFile: ", err)
}
data, _ = format.Source(data)
oldStr := "// #cgo pkg-config: Qt5Core Qt5OpenGL\n"
newStr := "// #cgo !windows pkg-config: Qt5Core Qt5OpenGL\n// #cgo windows LDFLAGS: -L./goqgl -lgoqgl_{{.LibSuffix}}\n"
newStr = strings.Replace(newStr, "{{.LibSuffix}}", libSuffix(dirName), -1)
if *flagRevert {
data = bytes.Replace(data, []byte(newStr), []byte(oldStr), -1)
data, _ = format.Source(data)
err = ioutil.WriteFile(dirName+"/gl.go", data, 0666)
if err != nil {
log.Fatal("ioutil.WriteFile: ", err)
}
return
} else {
data = bytes.Replace(data, []byte(oldStr), []byte(newStr), -1)
data, _ = format.Source(data)
err = ioutil.WriteFile(dirName+"/gl.go", data, 0666)
if err != nil {
log.Fatal("ioutil.WriteFile: ", err)
}
return
}
}
作者:hbdl
项目:qml-
func processGlGo_importPath(dirName string) {
data, err := ioutil.ReadFile(dirName + "/gl.go")
if err != nil {
log.Fatal("ioutil.ReadFile: ", err)
}
data, _ = format.Source(data)
oldStr := `"gopkg.in/qml.v1/gl/glbase"`
newStr := `"github.com/chai2010/qml/gl/glbase"`
if *flagRevert {
data = bytes.Replace(data, []byte(newStr), []byte(oldStr), -1)
data, _ = format.Source(data)
err = ioutil.WriteFile(dirName+"/gl.go", data, 0666)
if err != nil {
log.Fatal("ioutil.WriteFile: ", err)
}
return
} else {
data = bytes.Replace(data, []byte(oldStr), []byte(newStr), -1)
data, _ = format.Source(data)
err = ioutil.WriteFile(dirName+"/gl.go", data, 0666)
if err != nil {
log.Fatal("ioutil.WriteFile: ", err)
}
return
}
}
作者:deyvs
项目:veget
// Request creates an *http.Request out of Target and returns it along with an
// error in case of failure.
func (t *Target) Request() (*http.Request, error) {
// Dave's hack: replace tokens in body with unix times
miliTimeClipStarted := time.Now().UnixNano()/1000000 - 60000
t.Body = bytes.Replace(t.Body, []byte("__miliTimeClipStarted__"), []byte(strconv.Itoa(int(miliTimeClipStarted))), 1)
nanoTimeNow := time.Now().UnixNano()
miliTimeClipEnded := nanoTimeNow / 1000000
t.Body = bytes.Replace(t.Body, []byte("__miliTimeClipEnded__"), []byte(strconv.Itoa(int(miliTimeClipEnded))), 2)
microTimeNowString := strconv.Itoa(int(nanoTimeNow / 1000))
splitPoint := len(microTimeNowString) - 6
microTimeForStill := fmt.Sprint(microTimeNowString[:splitPoint], ".", microTimeNowString[splitPoint:])
t.Body = bytes.Replace(t.Body, []byte("__microTimeForStill__"), []byte(microTimeForStill), 1)
req, err := http.NewRequest(t.Method, t.URL, bytes.NewBuffer(t.Body))
if err != nil {
return nil, err
}
for k, vs := range t.Header {
req.Header[k] = make([]string, len(vs))
copy(req.Header[k], vs)
}
if host := req.Header.Get("Host"); host != "" {
req.Host = host
}
return req, nil
}
作者:jmptrade
项目:o
func (o *Og) CmdHelp() ([]byte, int) {
if len(o.Args) > 0 {
// TODO: add help shims for gen, parse
return o.Default("help")
}
modifyHelp := func(help []byte, helps []string) []byte {
search := regexp.MustCompile(`(?m)^.+?commands.+$`)
idx := search.FindIndex(help)
left, right := help[:idx[0]], help[idx[1]:]
template := "%sOg commands:\n\n %s\n\nGo commands:%s"
tmp := fmt.Sprintf(template, left, strings.Join(helps, "\n "), right)
return []byte(tmp)
}
out, _ := exec.Command("go").CombinedOutput()
out = bytes.Replace(out, []byte("Go"), []byte("Og"), 1)
out = bytes.Replace(out, []byte("go command"), []byte("og command"), 1)
out = bytes.Replace(out, []byte("go help"), []byte("og help"), -1)
helps := []string{
"gen generate preprocessed source tree",
"parse preprocess one source file",
"update update og command",
}
out = modifyHelp(out, helps)
return out, 0
}
作者:WIZARD-CX
项目:golang-devops-stuf
func (this *Logger) Write(bs []byte) (int, error) {
this.lock.Lock()
defer this.lock.Unlock()
prefix := this.prefix()
suffix := this.suffix()
final := bs
if !this.written || this.lastEndedWithNewline {
this.written = true
final = append([]byte(prefix), final...)
}
if bytes.HasSuffix(final, []byte{byte('\n')}) {
final = final[:len(final)-1]
this.lastEndedWithNewline = true
} else {
this.lastEndedWithNewline = false
}
final = bytes.Replace(final, []byte("\r\n"), []byte("\n"), -1)
final = bytes.Replace(final, []byte("\n"), []byte(suffix+"\n"+prefix), -1)
if this.lastEndedWithNewline {
final = append(final, []byte(suffix)...)
final = append(final, '\n')
}
n, err := this.writer.Write(final)
if n > len(bs) {
n = len(bs)
}
return n, err
}
作者:josephwinsto
项目:libswar
// GET /containers/{name:.*}/json
func getContainerJSON(c *context, w http.ResponseWriter, r *http.Request) {
name := mux.Vars(r)["name"]
container := c.cluster.Container(name)
if container == nil {
httpError(w, fmt.Sprintf("No such container %s", name), http.StatusNotFound)
return
}
client, scheme := newClientAndScheme(c.tlsConfig)
resp, err := client.Get(scheme + "://" + container.Node.Addr() + "/containers/" + container.Id + "/json")
if err != nil {
httpError(w, err.Error(), http.StatusInternalServerError)
return
}
// cleanup
defer resp.Body.Close()
defer closeIdleConnections(client)
data, err := ioutil.ReadAll(resp.Body)
if err != nil {
httpError(w, err.Error(), http.StatusInternalServerError)
return
}
// insert Node field
data = bytes.Replace(data, []byte("\"Name\":\"/"), []byte(fmt.Sprintf("\"Node\":%s,\"Name\":\"/", cluster.SerializeNode(container.Node))), -1)
// insert node IP
data = bytes.Replace(data, []byte("\"HostIp\":\"0.0.0.0\""), []byte(fmt.Sprintf("\"HostIp\":%q", container.Node.IP())), -1)
w.Header().Set("Content-Type", "application/json")
w.Write(data)
}
作者:bigtige
项目:cadd
// defaultTemplate constructs a default template.
func defaultTemplate(c Config, metadata Metadata, requestPath string) []byte {
var scripts, styles bytes.Buffer
for _, style := range c.Styles {
styles.WriteString(strings.Replace(cssTemplate, "{{url}}", style, 1))
styles.WriteString("\r\n")
}
for _, script := range c.Scripts {
scripts.WriteString(strings.Replace(jsTemplate, "{{url}}", script, 1))
scripts.WriteString("\r\n")
}
// Title is first line (length-limited), otherwise filename
title := metadata.Title
if title == "" {
title = filepath.Base(requestPath)
if body, _ := metadata.Variables["markdown"].([]byte); len(body) > 128 {
title = string(body[:128])
} else if len(body) > 0 {
title = string(body)
}
}
html := []byte(htmlTemplate)
html = bytes.Replace(html, []byte("{{title}}"), []byte(title), 1)
html = bytes.Replace(html, []byte("{{css}}"), styles.Bytes(), 1)
html = bytes.Replace(html, []byte("{{js}}"), scripts.Bytes(), 1)
return html
}
作者:CedarLogi
项目:hug
func TestChaingMultipleTransformers(t *testing.T) {
f1 := func(ct contentTransformer) {
ct.Write(bytes.Replace(ct.Content(), []byte("f1"), []byte("f1r"), -1))
}
f2 := func(ct contentTransformer) {
ct.Write(bytes.Replace(ct.Content(), []byte("f2"), []byte("f2r"), -1))
}
f3 := func(ct contentTransformer) {
ct.Write(bytes.Replace(ct.Content(), []byte("f3"), []byte("f3r"), -1))
}
f4 := func(ct contentTransformer) {
ct.Write(bytes.Replace(ct.Content(), []byte("f4"), []byte("f4r"), -1))
}
tr := NewChain(f1, f2, f3, f4)
out := new(bytes.Buffer)
if err := tr.Apply(out, helpers.StringToReader("Test: f4 f3 f1 f2 f1 The End."), []byte("")); err != nil {
t.Errorf("Multi transformer chain returned an error: %s", err)
}
expected := "Test: f4r f3r f1r f2r f1r The End."
if string(out.Bytes()) != expected {
t.Errorf("Expected %s got %s", expected, string(out.Bytes()))
}
}
作者:ellisonc
项目:kin
func runTest(testName string, fileName string, expected []byte) (passed bool) {
program := "./" + testName + ".exe"
fullpath := testName + "/" + fileName + ".aterm"
cmd := exec.Command(program, fullpath)
// cmd.Stdin = strings.NewReader("some input")
var out bytes.Buffer
var errBytes bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &errBytes
err := cmd.Run()
if err != nil {
s := fmt.Sprintf("Error running command (%s %s):\n", program, fullpath)
s += "-------STDOUT--------\n"
s += fmt.Sprintf("%s\n", out.String())
s += "-------STDERR--------\n"
s += fmt.Sprintf("%s\n", errBytes.String())
s += "-------CMDERR--------\n"
s += fmt.Sprintf("%s\n", err)
panic(s)
}
expectedNoCR := bytes.Replace(expected, []byte{'\r'}, []byte{}, -1)
actualNoCR := bytes.Replace(out.Bytes(), []byte{'\r'}, []byte{}, -1)
// if bytes.Compare(actualNoCR, expectedNoCR) != 0 {
if !bytes.Contains(actualNoCR, expectedNoCR) {
fmt.Fprintf(os.Stderr, "Suite \"%s\", Test \"%s\"\nExpected:\n%s\nSaw:\n%s\n", testName, fileName, expected, out.Bytes())
return false
} else {
return true
}
}
作者:hygert
项目:beatson
func RestructureAACFile(file []byte) []byte {
file = bytes.Replace(file, []byte{9}, []byte{32}, -1)
file = bytes.Replace(file, []byte{0}, []byte{9}, -1)
file = bytes.Replace(file, []byte{11}, []byte{32}, -1)
file = bytes.Replace(file, []byte{3}, []byte{11}, -1)
return file
}
作者:pombredann
项目:tools-
func (i *injectWriter) Write(b []byte) (int, error) {
//port := viper.GetInt("ListenPort")
replace := []byte(
` <script type="text/javascript">
host = (location.hostname || 'localhost');
document.write('<script type="text/javascript" '
+ 'src="//' + host + ':35729/livereload.js'
+ '?mindelay=10&host=' + host + '">'
+ '</' + 'script>');
</script>
</body>`,
)
tag := []byte("</body>")
out := bytes.Replace(b, tag, replace, -1)
if len(out) == len(b) {
tag := []byte("</BODY>")
out = bytes.Replace(b, tag, replace, -1)
}
i.h["Content-Length"] = []string{strconv.Itoa(len(out))}
for k, v := range i.h {
i.w.Header()[k] = v
}
return i.w.Write(out)
}
作者:nikhil
项目:gocc
// `highlight` pipes the source to Pygments, section by section
// delimited by dividerText, then reads back the highlighted output,
// searches for the delimiters and extracts the HTML version of the code
// and documentation for each `Section`
func highlight(source string, sections *list.List) {
language := getLanguage(source)
pygments := exec.Command("pygmentize", "-l", language.name, "-f", "html", "-O", "encoding=utf-8")
pygmentsInput, _ := pygments.StdinPipe()
pygmentsOutput, _ := pygments.StdoutPipe()
// start the process before we start piping data to it
// otherwise the pipe may block
pygments.Start()
for e := sections.Front(); e != nil; e = e.Next() {
pygmentsInput.Write(e.Value.(*Section).codeText)
if e.Next() != nil {
io.WriteString(pygmentsInput, language.dividerText)
}
}
pygmentsInput.Close()
buf := new(bytes.Buffer)
io.Copy(buf, pygmentsOutput)
output := buf.Bytes()
output = bytes.Replace(output, []byte(highlightStart), nil, -1)
output = bytes.Replace(output, []byte(highlightEnd), nil, -1)
for e := sections.Front(); e != nil; e = e.Next() {
index := language.dividerHTML.FindIndex(output)
if index == nil {
index = []int{len(output), len(output)}
}
fragment := output[0:index[0]]
output = output[index[1]:]
e.Value.(*Section).CodeHTML = bytes.Join([][]byte{[]byte(highlightStart), []byte(highlightEnd)}, fragment)
e.Value.(*Section).DocsHTML = blackfriday.MarkdownCommon(e.Value.(*Section).docsText)
}
}