gocloud.devgocloud.dev/blob/memblob Index | Examples | Files

package memblob

import "gocloud.dev/blob/memblob"

Package memblob provides an in-memory blob implementation. Use OpenBucket to construct a *blob.Bucket.

Open URLs

For blob.OpenBucket URLs, memblob registers for the scheme "mem"; URLs are always "mem://". For more details, see URLOpener.

As

memblob does not support any types for As.

Example

Code:play 

package main

import (
	"context"
	"fmt"
	"log"

	"gocloud.dev/blob/memblob"
)

func main() {

	// Create an in-memory bucket.
	b := memblob.OpenBucket(nil)

	// Now we can use b to read or write files to the container.
	ctx := context.Background()
	err := b.WriteAll(ctx, "my-key", []byte("hello world"), nil)
	if err != nil {
		log.Fatal(err)
	}
	data, err := b.ReadAll(ctx, "my-key")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(string(data))

}

Output:

hello world
Example (Open)

Code:play 

package main

import (
	"context"
	"fmt"
	"log"

	"gocloud.dev/blob"
)

func main() {
	// Open creates a *blob.Bucket from a URL.
	b, err := blob.OpenBucket(context.Background(), "mem://")
	if err != nil {
		log.Fatal(err)
	}

	// Now we can use b to read or write files to the container.
	ctx := context.Background()
	err = b.WriteAll(ctx, "my-key", []byte("hello world"), nil)
	if err != nil {
		log.Fatal(err)
	}
	data, err := b.ReadAll(ctx, "my-key")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(string(data))

}

Output:

hello world

Index

Examples

Constants

const Scheme = "mem"

Scheme is the URL scheme memblob registers its URLOpener under on blob.DefaultMux.

Functions

func OpenBucket

func OpenBucket(opts *Options) *blob.Bucket

OpenBucket creates a *blob.Bucket backed by memory.

Types

type Options

type Options struct{}

Options sets options for constructing a *blob.Bucket backed by memory.

type URLOpener

type URLOpener struct{}

URLOpener opens URLs like "mem://".

func (*URLOpener) OpenBucketURL

func (*URLOpener) OpenBucketURL(ctx context.Context, u *url.URL) (*blob.Bucket, error)

OpenBucketURL returns a new in-memory bucket.

Source Files

memblob.go

Version
v0.10.0
Published
Feb 12, 2019
Platform
darwin/amd64
Imports
14 packages
Last checked
40 minutes ago

Tools for package owners.