将curl命令转换为golang conn.publish代码

时间:2018-11-05 02:26:43

标签: rest go

我正在尝试通过Golang与服务器对话 我无法使其正常工作:

但是,以下CURL命令有效:

“卷曲http://localhost:8888/auth

我知道表格是:

<subject> <payload length> "\r\n" <payload>

但是我尝试的所有方法都失败了。

发布代码如下:

// Publish takes a subject as an immutable string and payload inbytes,
// then sends the message to the server.

func (c *Client) Publish(subject string, payload []byte) error {
    c.Lock()
    pub := fmt.Sprintf("%s %d\r\n", subject, len(payload))
    _, err := c.w.WriteString(pub)

    if err == nil {
        _, err = c.w.Write(payload)
    }
    if err == nil {
        _, err = c.w.WriteString("\r\n")
    }
    if err == nil {
        err = c.w.Flush()
    }
    c.Unlock()
    if err != nil {
        return err
    }

    return nil
}

我将不胜感激。

0 个答案:

没有答案