<commit_before>package config

import (
	"github.com/kelseyhightower/envconfig"
)

// S3 is the envconfig compatible struct to configure S3 access
type S3 struct {
	Endpoint string `envconfig:"AWS_ENDPOINT" default:"s3.amazonaws.com"`
	Bucket   string `envconfig:"AWS_BUCKET" default:"goprox"`
	Key      string `envconfig:"AWS_KEY"`
	Secret   string `envconfig:"AWS_SECRET"`
}

// GetS3 gets the S3 config using envconfig
func GetS3(appName string) (*S3, error) {
	conf := new(S3)
	if err := envconfig.Process(appName, conf); err != nil {
		return nil, err
	}
	return conf, nil
}<commit_msg>making key and secret required<commit_after>package config

import (
	"github.com/kelseyhightower/envconfig"
)

// S3 is the envconfig compatible struct to configure S3 access
type S3 struct {
	Endpoint string `envconfig:"AWS_ENDPOINT" default:"s3.amazonaws.com"`
	Bucket   string `envconfig:"AWS_BUCKET" default:"goprox"`
	Key      string `envconfig:"AWS_KEY" required:"true"`
	Secret   string `envconfig:"AWS_SECRET" required:"true"`
}

// GetS3 gets the S3 config using envconfig
func GetS3(appName string) (*S3, error) {
	conf := new(S3)
	if err := envconfig.Process(appName, conf); err != nil {
		return nil, err
	}
	return conf, nil
}
{'fraction_non_alphanumeric': 0.11697806661251016, 'fraction_numerical': 0.01462225832656377, 'mean_word_length': 4.838862559241706, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, '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': '5232865', 'n_tokens_mistral': 431, 'n_tokens_neox': 427, 'n_words': 120}