{"id":18111523,"url":"https://github.com/gotev/no-as-a-service","last_synced_at":"2025-04-14T03:34:07.512Z","repository":{"id":98603913,"uuid":"239189439","full_name":"gotev/no-as-a-service","owner":"gotev","description":"It instantly gives you a NO answer, every time and everywhere you want!","archived":false,"fork":false,"pushed_at":"2024-02-22T18:41:02.000Z","size":29,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T17:36:37.698Z","etag":null,"topics":["android","curl","ios","java","javascript","kotlin","naas","no","service"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gotev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"custom":["https://paypal.me/alexgt"]}},"created_at":"2020-02-08T19:05:44.000Z","updated_at":"2024-11-20T10:39:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"97499bb4-b629-4e18-b2ba-92a09b8f223e","html_url":"https://github.com/gotev/no-as-a-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotev%2Fno-as-a-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotev%2Fno-as-a-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotev%2Fno-as-a-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotev%2Fno-as-a-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gotev","download_url":"https://codeload.github.com/gotev/no-as-a-service/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248815794,"owners_count":21165983,"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":["android","curl","ios","java","javascript","kotlin","naas","no","service"],"created_at":"2024-11-01T01:06:08.250Z","updated_at":"2025-04-14T03:34:07.485Z","avatar_url":"https://github.com/gotev.png","language":null,"funding_links":["https://paypal.me/alexgt"],"categories":["Others"],"sub_categories":[],"readme":"# No-as-a-Service\nIn a world of `Things-as-a-Service`, there is a very simple thing which is missing! It's a very basic one, but it's one of the most difficult things in our every day lives. Here it's implemented and provided FREE OF CHARGE!\n\nSometimes the only possible answer you can give is `NO`. It's not easy, but saying NO is good:\n\n- it's `BETTER` than not responding at all (which may very often be a way to hide a NO, trying to delay the consequences)\n  - \u003eI've finished the toilet paper, can you help me? ...\n\n- it's `WAY BETTER` than saying YES and not following through\n  - \u003eCan you help me finding my way back home? YES (and going away instantly)\n  - \u003eWill I have your support for this thing? YES (and then disappearing in key moments)\n\n- it `INSTANTLY` tells the other party that the question itself contains one or more defects or unmet expectations\n  - \u003e(every minute while driving) Are we there yet? NO\n  - \u003eSince you're blonde, I think you're a very cute brunette! NO!\n\n- it `MAY` open up a feedback request for improvement\n  - \u003eAm I ready for the next step? No! Why? Well, it's because...\n\n- it `MAY` be followed by a clarification sentence, like `NO, but...`, `No, because..`\n  - \u003eDoctor I'm sick and I thought this pill can help me! NO, but you can take this one instead!\n\n- it `PREVENTS` wars or very bad things to happen\n  - \u003eShould we use a nuclear weapon? NO!\n  - \u003eIs it safe to use the toilet without checking for paper first? NO\n  - \u003e(after hours of hair styling) Can I touch your hair? NO!\n\n\u003eYou already know VERY WELL what are the NO side-effects and consequences, so we can just skip them!\n\n\u003eBtw, this SOFTWARE is PROVIDED AS-IS. WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, and Bla Bla Bla...you won't read till here anyways, so why bothering writing it?\n\nIf you're reading this, I've sold you the service :tada:! So let's get to the details!\n\n## Getting started\nEasiest way to express a NO is a Boolean `false` value. Saying NO is already difficult, so let's keep it simple stupid! (Wow KISS Principle applied!)\n\nMany different ways to say no:\n\n### cURL\n`curl https://gotev.github.io/no-as-a-service/request.json`\n\n### JavaScript\n```javascript\nfetch('https://gotev.github.io/no-as-a-service/request.json')\n  .then(responsePayload =\u003e responsePayload.json())\n  .then(responseJson =\u003e console.log(responseJson))\n```\n\n### OkHttp (Java Virtual Machine \u0026 Android) - written in Kotlin\n```kotlin\nval client = OkHttpClient()\nval request = Request.Builder()\n    .url(\"https://gotev.github.io/no-as-a-service/request.json\")\n    .build()\n\nclient.newCall(request).enqueue(object : Callback {\n    override fun onFailure(call: Call, e: IOException) {\n        // Do something with your error\n    }\n\n    override fun onResponse(call: Call, response: Response) {\n        // do something with the response\n    }\n})\n```\n\n### iOS\n```swift\nlet session = URLSession.shared\nlet requestUrl = URL(string: \"https://gotev.github.io/no-as-a-service/request.json\")!\n\nsession.dataTask(with: requestUrl, completionHandler: { data, response, error in\n    if let error = error {\n        print(error)\n        return\n    }\n    \n    guard let data = data else { return }\n    \n    // Do something with the response\n}).resume()\n```\n\n## Contributing\nContributing is easy, just open a PR with your idea! It can be providing a new code example, improving an existing one, extending this README. Let's make `NO` great again!\n\n## License\nGetting formal here. Prepare your best suit \u0026 tie before reading!\n\nEhm..suit \u0026 tie first, thanks!\n\n```\nCopyright 2020 Aleksandar Gotev\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgotev%2Fno-as-a-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgotev%2Fno-as-a-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgotev%2Fno-as-a-service/lists"}