Git Product home page Git Product logo

nntp-client's Introduction

nntp-client

A .NET Core compatible implementation of the NNTP protocol that can be used to create an NNTP newsgroup reader client. This repository features a classlib which can be referenced, and a small example console application that demonstrates its ability to connect to an NNTP server and operate as a client.

This client project grew out of NNTP-related interests in the McNNTP repository.

To keep this library purely a .NET Core offering, I have copied some of the DotNetZip library files for Zlib into this project. For this reason, this project is licensed under MS-PL.

Pull requests or questions are welcome!

nntp-client's People

Contributors

dependabot[bot] avatar kevingy avatar seanmcelroy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

kevingy epoulsen

nntp-client's Issues

NuGet Package, Part II

The current NuGet package targets .NETCoreApp 2.1. My app is .NETCore 3.1. I'm getting warnings like:

image

Perhaps the library should target .NETStandard for better compatibility with more targets?

XOVER Support

The Usenet server that I am using does not support the OVER command. It only supports the older XOVER command. For backwards compatibility, perhaps this library should also support XOVER. The syntax is identical to OVER, except for the additional X in XOVER.

I've already coded XOVER by copying OVER and adding the X. There is certainly a more elegant way to implement XOVER without copying the entire method. If this is something valuable to the project, I will create the more elegant solution and create a pull request.

Nuget Package

Have you considered publishing this library as a Nuget package?

Crash when handling articles with no body

When there is a Usenet article with no body (that is, the entire message is the subject line only), the library crashes in OverAsync when processing the return from the server. Consider the "parts" for this article header:

image

When the number of lines ("parts[7]") is parsed into an int at line 624 of NttpClient.cs, an exception is thrown as string.Empty can not be parsed as an int value.

(I can submit a pull request to fix this issue.)

Dependency on log4net

Ideally, a dependency shouldn't dictate to the application what logging library to use. As the library consumer, I should be able to tell the library what library my application uses (typically using Microsoft.Extensions.Logging). Doing so everything - the app and the library - uses a common logging infrastructure. With the dependency on log4net, I am required to install log4net when I deploy my app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.