{"id":23746266,"url":"https://github.com/askrella/go-mockserver","last_synced_at":"2026-03-08T16:30:19.967Z","repository":{"id":241121748,"uuid":"695137394","full_name":"askrella/go-mockserver","owner":"askrella","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-22T14:54:35.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-22T14:56:06.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/askrella.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-22T12:42:33.000Z","updated_at":"2024-05-22T14:56:09.083Z","dependencies_parsed_at":"2024-05-22T14:56:08.985Z","dependency_job_id":"090260ae-93b1-4bb8-ba4d-a3635ebc6dfa","html_url":"https://github.com/askrella/go-mockserver","commit_stats":null,"previous_names":["askrella/go-mockserver"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askrella%2Fgo-mockserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askrella%2Fgo-mockserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askrella%2Fgo-mockserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askrella%2Fgo-mockserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/askrella","download_url":"https://codeload.github.com/askrella/go-mockserver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239905208,"owners_count":19716416,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-31T13:32:03.018Z","updated_at":"2026-03-08T16:30:19.913Z","avatar_url":"https://github.com/askrella.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go MockServer\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![Docker](https://github.com/askrella/whatsapp-chatgpt/actions/workflows/docker.yml/badge.svg)\n![Docker AMD64](https://img.shields.io/badge/docker-amd64-blue)\n![Docker ARM64](https://img.shields.io/badge/docker-arm64-green)\n![Build](https://img.shields.io/github/actions/workflow/status/askrella/aws-ses-mock/docker.yml?branch=master)\n\n![Askrella](https://avatars.githubusercontent.com/u/77694724?s=100)\n\nA tiny (\u003c 5mb) implementation of a request capturing proxy written in Golang. Used internally at [Askrella](https://askrella.de/)\nfor mocking external partners in our CI pipelines and sometimes improving compression and loading times for CSV\ndatasets.\n\n# Why?\n\nWe at [Askrella](https://askrella.de/) sometimes encounter projects with minimal own logic rather than gluing\nmultiple APIs together and process their data. In these cases we had troubles with the response times these\nAPIs offer (\u003e 3.5s, rare cases even \u003e 1,4min). Since we want to run extensive tests against these providers in our pipeline, we need\nsome kind of proxy capturing and mocking these providers in our pipeline.\n\nOn our search we encountered [MockServer](https://www.mock-server.com/) written in Java, but the functionality was way to extensive\nand the images too big for fast iterations in our scenarios (possibly dozens of different APIs on a small CI/CD pipeline).\n\nOf course we don't offer the same functionality as the big brothers, but we kept it simple and our images\nminimal (\u003c 10mb)!\nThe code itself doesn't need many dependencies and only relies on the Go standard library as well as some\ncurated compression libraries (e.g. brotli).\nOur final container is based on [distroless](https://github.com/GoogleContainerTools/distroless).\n\n# :gear: Getting Started\n\nRun the mockserver using docker compose:\n```golang\nversion: '3'\n\nservices:\n  mock:\n    build: .\n    environment:\n      MOCK_TARGET: https://google.com \n      # MOCK_PORT: 80 # The port MockServer shall bind to\n      # MOCK_HOST: 0.0.0.0 # The interface MockServer shall use\n      # CACHE_ENABLED: true # Whether responses to requests shall be cached and re-delivered similar requests\n      # RECOMPRESS: true # When enabled the upstream (external server) response body will be decompressed and compressed\n                         # using gzip level 9 compression. Depending on the upstream, this can lead to extremely reduced\n                         # request times.\n    ports:\n      - \"8080:80/tcp\"\n```\n\n\u003e Note: Google actually doesn't work (404) because the request currently won't be manipulated accordingly.\n\n# :wave: Contributors\n\n\u003ca href=\"https://github.com/askrella/go-mockserver/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=askrella/go-mockserver\" /\u003e\n\u003c/a\u003e\n\n* [Askrella Software Agency](askrella.de)\n    * [Steve](https://github.com/steve-hb) (Maintainer)\n\nFeel free to open a new pull request with changes or create an issue here on GitHub! :)\n\n# :warning: License\nDistributed under the MIT License. See LICENSE.txt for more information.\n\n# Bugs?\n\nSince I coded most of the code at the airport, please let us know if you encounter some kind of bug. :)\n\n# :handshake: Contact Us\n\nIn case you need professional support, feel free to \u003ca href=\"mailto:contact@askrella.de\"\u003econtact us\u003c/a\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskrella%2Fgo-mockserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faskrella%2Fgo-mockserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskrella%2Fgo-mockserver/lists"}