{"id":13412982,"url":"https://github.com/hishamkaram/geoserver","last_synced_at":"2026-02-06T18:54:22.977Z","repository":{"id":31117301,"uuid":"126892982","full_name":"hishamkaram/geoserver","owner":"hishamkaram","description":"geoserver is a Go library for manipulating a GeoServer instance via the GeoServer REST API.","archived":false,"fork":false,"pushed_at":"2023-02-28T08:00:05.000Z","size":4583,"stargazers_count":86,"open_issues_count":4,"forks_count":22,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-07-31T20:51:45.666Z","etag":null,"topics":["catalog","geography","geoserver","geoserver-instance","gis","go","golang","mapping","workspace"],"latest_commit_sha":null,"homepage":"","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/hishamkaram.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}},"created_at":"2018-03-26T21:36:49.000Z","updated_at":"2024-05-15T11:01:02.000Z","dependencies_parsed_at":"2024-01-08T15:02:58.700Z","dependency_job_id":"f9dd40e0-b39b-4547-af9b-ed2ca5b7818f","html_url":"https://github.com/hishamkaram/geoserver","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/hishamkaram/geoserver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishamkaram%2Fgeoserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishamkaram%2Fgeoserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishamkaram%2Fgeoserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishamkaram%2Fgeoserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hishamkaram","download_url":"https://codeload.github.com/hishamkaram/geoserver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hishamkaram%2Fgeoserver/sbom","scorecard":{"id":465510,"data":{"date":"2025-08-11","repo":{"name":"github.com/hishamkaram/geoserver","commit":"b9ff6ddef63c34697c1053aa576e1857a7872ded"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":3,"reason":"Found 4/11 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: docker/Dockerfile:1: pin your Docker image by updating tomcat:jdk8-adoptopenjdk-hotspot to tomcat:jdk8-adoptopenjdk-hotspot@sha256:6f97a3f95be6b10c8a73af06910b4a4676e0907aa949fe51d50f6358c36287e9","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"15 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0209 / GHSA-r5c5-pr8j-pfp7","Warn: Project is vulnerable to: GO-2023-1992 / GHSA-x3jr-pf6g-c48f","Warn: Project is vulnerable to: GO-2022-0229 / GHSA-cjjc-xp8v-855w","Warn: Project is vulnerable to: GO-2020-0012 / GHSA-ffhg-7mh4-33c4","Warn: Project is vulnerable to: GO-2021-0227 / GHSA-3vm4-22fp-5rfm","Warn: Project is vulnerable to: GO-2022-0968 / GHSA-gwc9-m7rh-j2ww","Warn: Project is vulnerable to: GO-2021-0356 / GHSA-8c26-wmh5-6g9v","Warn: Project is vulnerable to: GO-2024-2961","Warn: Project is vulnerable to: GO-2023-2402 / GHSA-45x7-px36-x8w8","Warn: Project is vulnerable to: GO-2024-3321 / GHSA-v778-237x-gjrc","Warn: Project is vulnerable to: GO-2025-3487 / GHSA-hcg3-q754-cr77","Warn: Project is vulnerable to: GO-2022-0493 / GHSA-p782-xgp4-8hr8","Warn: Project is vulnerable to: GO-2021-0061 / GHSA-r88r-gmrh-7j83","Warn: Project is vulnerable to: GO-2022-0956 / GHSA-6q6q-88xp-6f2r","Warn: Project is vulnerable to: GO-2020-0036 / GHSA-wxc4-f4m6-wwqv"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T12:22:57.103Z","repository_id":31117301,"created_at":"2025-08-19T12:22:57.103Z","updated_at":"2025-08-19T12:22:57.103Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29172628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["catalog","geography","geoserver","geoserver-instance","gis","go","golang","mapping","workspace"],"created_at":"2024-07-30T20:01:31.923Z","updated_at":"2026-02-06T18:54:22.958Z","avatar_url":"https://github.com/hishamkaram.png","language":"Go","funding_links":[],"categories":["Geographic","Go","地理","位置信息与地理GEO处理库","Relational Databases"],"sub_categories":["Search and Analytic Databases","Advanced Console UIs","检索及分析资料库","SQL 查询语句构建库"],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/hishamkaram/geoserver)](https://goreportcard.com/report/github.com/hishamkaram/geoserver)\n[![GitHub license](https://img.shields.io/github/license/hishamkaram/geoserver.svg)](https://github.com/hishamkaram/geoserver/blob/master/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/hishamkaram/geoserver.svg)](https://github.com/hishamkaram/geoserver/issues)\n[![Coverage Status](https://coveralls.io/repos/github/hishamkaram/geoserver/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/hishamkaram/geoserver?branch=master\u0026service=github)\n[![Build Status](https://travis-ci.org/hishamkaram/geoserver.svg?branch=master)](https://travis-ci.org/hishamkaram/geoserver)\n[![Documentation](https://godoc.org/github.com/hishamkaram/geoserver?status.svg)](https://godoc.org/github.com/hishamkaram/geoserver?)\n[![GitHub forks](https://img.shields.io/github/forks/hishamkaram/geoserver.svg)](https://github.com/hishamkaram/geoserver/network)\n[![GitHub stars](https://img.shields.io/github/stars/hishamkaram/geoserver.svg)](https://github.com/hishamkaram/geoserver/stargazers)\n[![Twitter](https://img.shields.io/twitter/url/https/github.com/hishamkaram/geoserver/edit/master/README.md.svg?style=social)](https://twitter.com/intent/tweet?text=Wow:\u0026url=https%3A%2F%2Fgithub.com%2Fhishamkaram%2Fgeoserver%2Fedit%2Fmaster%2FREADME.md)\n\n\n\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/bVuV5v6.png\" width=\"200\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/31CL1xg.png\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# Geoserver\ngeoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API. \n\n---\n## How to install:\n- `go get -v gopkg.in/hishamkaram/geoserver.v1`\n  - now you can import the package from `gopkg.in/hishamkaram/geoserver.v1`, example:\n    ```\n    import (\n      ...\n      \"gopkg.in/hishamkaram/geoserver.v1\"\n      ...\n    )\n    ```\n---\n\n## usage:\n  - Create new Catalog (which contains all available operations):\n      - `gsCatalog := geoserver.GetCatalog(\"http://localhost:8080/geoserver13/\", \"admin\", \"geoserver\")`\n  - Use catalog Methods to Perform a Geoserver REST Operation:\n      - Create New workspace:\n        ```\n        created, err := gsCatalog.CreateWorkspace(\"golang\")\n        if err != nil {\n          fmt.Printf(\"\\nError:%s\\n\", err)\n        }\n        fmt.Println(strconv.FormatBool(created))\n        ```\n        output if created:\n        ```\n        INFO[31-03-2018 16:26:35] url:http://localhost:8080/geoserver13/rest/workspaces\tresponse Status=201  \n        true\n        ```\n        output if error:\n        ```\n        INFO[31-03-2018 16:26:37] url:http://localhost:8080/geoserver13/rest/workspaces\tresponse Status=401  \n        WARN[31-03-2018 16:26:37] \u003c!doctype html\u003e\u003chtml lang=\"en\"\u003e\u003chead\u003e\u003ctitle\u003eHTTP Status 401 – Unauthorized\u003c/title\u003e\u003cstyle type=\"text/css\"\u003eh1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}\u003c/style\u003e\u003c/head\u003e\u003cbody\u003e\u003ch1\u003eHTTP Status 401 – Unauthorized\u003c/h1\u003e\u003chr class=\"line\" /\u003e\u003cp\u003e\u003cb\u003eType\u003c/b\u003e Status Report\u003c/p\u003e\u003cp\u003e\u003cb\u003eMessage\u003c/b\u003e Workspace \u0026#39;golang\u0026#39; already exists\u003c/p\u003e\u003cp\u003e\u003cb\u003eDescription\u003c/b\u003e The request has not been applied because it lacks valid authentication credentials for the target resource.\u003c/p\u003e\u003chr class=\"line\" /\u003e\u003ch3\u003eApache Tomcat/9.0.6\u003c/h3\u003e\u003c/body\u003e\u003c/html\u003e \n\n        Error:Unauthorized\n        false\n        ```\n  - Get Layers through GetLayers take workspace as paramter if empty workspace will be ignored and geoserver will return all public layers\n      ```\n      layers, err := gsCatalog.GetLayers(\"\")\n      if err != nil {\n        fmt.Printf(\"\\nError:%s\\n\", err)\n      }\n      for _, lyr := range layers {\n        fmt.Printf(\"\\nName:%s  href:%s\\n\", lyr.Name, lyr.Href)\n      }\n      ```\n      output:\n      ```\n      INFO[31-03-2018 19:04:44] url:http://localhost:8080/geoserver13/rest/layers\tresponse Status=200  \n\n      Name:tiger:giant_polygon  href:http://localhost:8080/geoserver13/rest/layers/tiger%3Agiant_polygon.json\n\n      Name:tiger:poi  href:http://localhost:8080/geoserver13/rest/layers/tiger%3Apoi.json\n\n      Name:tiger:poly_landmarks  href:http://localhost:8080/geoserver13/rest/layers/tiger%3Apoly_landmarks.json\n\n      Name:tiger:tiger_roads  href:http://localhost:8080/geoserver13/rest/layers/tiger%3Atiger_roads.json\n\n      Name:nurc:Arc_Sample  href:http://localhost:8080/geoserver13/rest/layers/nurc%3AArc_Sample.json\n\n      Name:nurc:Img_Sample  href:http://localhost:8080/geoserver13/rest/layers/nurc%3AImg_Sample.json\n\n      Name:nurc:Pk50095  href:http://localhost:8080/geoserver13/rest/layers/nurc%3APk50095.json\n\n      Name:nurc:mosaic  href:http://localhost:8080/geoserver13/rest/layers/nurc%3Amosaic.json\n      ......\n      ```\n  - Get Specific Layer from Geoserver:\n      ```\n      layer, err := gsCatalog.GetLayer(\"nurc\", \"Arc_Sample\")\n      if err != nil {\n        fmt.Printf(\"\\nError:%s\\n\", err)\n      } else {\n        fmt.Printf(\"%+v\\n\", layer)\n      }\n       ```\n       output:\n       ```\n      INFO[31-03-2018 20:12:07] url:http://localhost:8080/geoserver13/rest/workspaces/nurc/layers/Arc_Sample\tresponse Status=200  \n      {Name:Arc_Sample Path:/ Type:RASTER DefaultStyle:{Class: Name:rain Href:http://localhost:8080/geoserver13/rest/styles/rain.json} Styles:{Class:linked-hash-set Style:[{Class: Name:raster Href:http://localhost:8080/geoserver13/rest/styles/raster.json}]} Resource:{Class:coverage Name:nurc:Arc_Sample Href:http://localhost:8080/geoserver13/rest/workspaces/nurc/coveragestores/arcGridSample/coverages/Arc_Sample.json} Queryable:false Opaque:false Attribution:{Title: Href: LogoURL: LogoType: LogoWidth:0 LogoHeight:0}}\n       ```\n  - You can find more examples by check testing files\n  - You can find all supported operations on [Godocs](https://godoc.org/github.com/hishamkaram/geoserver)\n  ---\n\n### TESTING\n|   | Go Version | Geoserver Version | Tested             |\n|---|------------|-------------------|--------------------|\n| 1 | 1.13.x      | 2.13.x            | :heavy_check_mark: |\n| 2 | 1.13.x      | 2.14.x            | :heavy_check_mark: |\n| 3 | 1.14.x     | 2.13.x            | :heavy_check_mark: |\n| 4 | 1.14.x     | 2.14.x            | :heavy_check_mark: |\n| 5 | 1.15.x     | 2.13.x            | :heavy_check_mark: |\n| 6 | 1.15.x     | 2.14.x            | :heavy_check_mark: |\n\n___\n### [Documentation](https://godoc.org/github.com/hishamkaram/geoserver)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhishamkaram%2Fgeoserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhishamkaram%2Fgeoserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhishamkaram%2Fgeoserver/lists"}