<commit_before># simple_blobstore

## Overview

**simple_blobstore**, an almost pointless blobstore with far too little useful functionality.  Built only to make quickly storing blobs that are HTTP accessible for another project.


## Requirements

goconfig - code at <https://github.com/kless/goconfig>


## Installation

```
go get github.com/kless/goconfig/config


```


## Notes

When this is done the following should be true:

### Writing

All writes are going to just write to a folder named after the user supplied GUID. POSTs to existing GUIDs will overwrite the data.

There are no permissions or checks.

* **POST** some JSON to /metadata/GUID

* **POST** a blob to /data/GUID
* If GUID matches metadata then it is associated, either way the blob will be stored.


### Reading

Still no permissions.

* **GET** to /data/GUID will return the data written.  If there was no metadata written then the content-type will be application/octet-stream.
* **GET** to /metadata/GUID will return the appropriate metadata, if it exists.


### TODO

Everything.<commit_msg>Updating readme to remove notes about unimplemented parts<commit_after># simple_blobstore

## Overview

**simple_blobstore**, an almost pointless blobstore with far too little useful functionality.  Built only to make quickly storing blobs that are HTTP accessible for another project.


## Requirements

goconfig - code at <https://github.com/kless/goconfig>


## Installation

```
go get github.com/kless/goconfig/config


```


## Notes

When this is done the following should be true:

### Writing

All writes are going to just write to a folder named after the user supplied GUID. 

There are no permissions or checks.

* **POST** a blob to /data/
* GUID returns as entirety of the body response.


### Reading

Still no permissions.

* **GET** to /data/?id=GUID will return the data written.  If there was no metadata written then the content-type will be application/octet-stream.


### TODO

Everything.
{'fraction_non_alphanumeric': 0.08371154815935451, 'fraction_numerical': 0.0, 'mean_word_length': 4.022784810126582, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5022363', 'n_tokens_mistral': 574, 'n_tokens_neox': 542, 'n_words': 255}