I'm trying to record video segments transcoded by livepeer, using their functionality "objectStore".

Expert

I'm getting the following errors: Error saving segment err="NotImplementedA header you provided implies functionality that is not implemented.

Here's the code used to make the POST request:

 newfileUploadRequest(ctx context.Context, uri string, params map[string]string, fData io.Reader, fileName string, timeout time.Duration) (*http.Request, context.CancelFunc, error) {
    clog.Infof(ctx, "Posting data to %s (params %+v)", uri, params)
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    for key, val := range params {
        err := writer.WriteField(key, val)
        if err != nil {
            clog.Errorf(ctx, "err=%q", err)
        }
    }
    part, err := writer.CreateFormFile("file", fileName)
    if err != nil {
        return nil, nil, err
    }
    _, err = io.Copy(part, fData)

    err = writer.Close()
    if err != nil {
        return nil, nil, err
    }
    if timeout == 0 {
        timeout = saveTimeout
    }
    ctx, cancel := context.WithTimeout(context.Background(), timeout)
    req, err := http.NewRequestWithContext(ctx, "POST", uri, body)
    if err != nil {
        cancel()
        return nil, nil, err
    }
    req.Header.Set("Content-Type", writer.FormDataContentType())
    return req, cancel, err
}

it seems to be a standard multipart form upload, is it this functionality that you do not support ?

Answers 1

Needs to use PutObject. We don’t support POST yet